<@page currentChannel="JOB" title="简历预览" useheader="compact" 
	assets=["/css/site/base-form.css",
			"/up/resume/css/global.css",
			"/up/resume/css/cover-letter.css",
			"/up/resume/css/preview.css",
			"/up/position-invitation/css/invitation.css",
			"/css/modules/register-pop.css",
			'/css/layout/fullwidth.css',
			'/css/channels/network.css',
			'/up/position-invitation/css/position-invitation.css',
			'/up/yaoyue/css/company-hrmail.css',
			'/css/pages/company-hrmail.css',
			'/css/site/base-form.css',
			"/up/position-invitation/js/basic-incormation.js",
			"/js/jquery.tips.js",
			"/lib/jquery/jquery.color.js",
			"/js/jquery.linkup.js", 
			"/js/jquery.inputchecknormal.js",
			'/js/jquery.freemailcheck.js',
			"/up/dic/js/intention.js",
			'/js/jquery.formvalidate.js',
			'/js/jquery.formvalidatefn.js',
			'/up/position-invitation/js/misc.js',
			'/up/mathan/mathan.js',
			"/css/site/base-form.css",
			"/css/components/matchbox.css", 
			"/up/resume/css/global.css",
			"/up/resume/css/resume.css",
			"/up/job-project-2013/css/verify-phone.css",
			"/js/jquery.formvalidatefn.js",
			"/js/jquery.ajax-limit.js", 
			"/js/jquery.formvalidate.js", 
			"/js/jquery.linkup.js", 
			"/up/resume/js/jquery.ui.core.js",
			"/up/resume/js/jquery.ui.widget.js",
			"/up/resume/js/jquery.ui.mouse.js",
			"/up/resume/js/jquery.ui.sortable.js",
			"/up/campus-recruitment/css/navigation.css",
			"/up/recommend/css/intention.css",
			"/js/jquery.pickpad.js",
			"/js/jquery.interactive.js",
			"/up/job-project-2013/js/verify-phone.js"]>

<#--"/up/resume/js/misc.js",
<script type="text/javascript" src="/js/jquery.js"></script> -->  
<script type="text/javascript" >
var Chart = function(s) 
{
    function v(a, c, b) 
    {
        a = A((a - c.graphMin) / (c.steps * c.stepValue), 1, 0);
        return b * c.steps * a
    }
    function x(a, c, b, e) 
    {
        function h() 
        {
            g += f;
            var k = a.animation ? A(d(g), null, 0) : 1;
            e.clearRect(0, 0, q, u);
            a.scaleOverlay ? (b(k), c()) : (c(), b(k));
            if (1 >= g) D(h);
            else if ("function" == typeof a.onAnimationComplete) a.onAnimationComplete()
        }
        var f = a.animation ? 1 / A(a.animationSteps, Number.MAX_VALUE, 1) : 1,
        d = B[a.animationEasing],
        g = a.animation ? 0 : 1;
        "function" !== typeof c && (c = function() {});
        D(h)
    }
    function C(a, c, b, e, h, f) 
    {
        var d;
        a = Math.floor(Math.log(e - h) / Math.LN10);
        h = Math.floor(h / (1 * Math.pow(10, a))) * Math.pow(10, a);
        e = Math.ceil(e / (1 * Math.pow(10, a))) * Math.pow(10, a) - h;
        a = Math.pow(10, a);
        for (d = Math.round(e / a); d < b || d > c;) a = d < b ? a / 2 : 2 * a,
        d = Math.round(e / a);
        c = [];
        z(f, c, d, h, a);
        return {
            steps: d,
            stepValue: a,
            graphMin: h,
            labels: c
        }
    }
    function z(a, c, b, e, h) {
        if (a) for (var f = 1; f < b + 1; f++) c.push(E(a, {
            value: (e + h * f).toFixed(0 != h % 1 ? h.toString().split(".")[1].length: 0)
        }))
    }
    function A(a, c, b) {
        return ! isNaN(parseFloat(c)) && isFinite(c) && a > c ? c: !isNaN(parseFloat(b)) && isFinite(b) && a < b ? b: a
    }
    function y(a, c) {
        var b = {},
        e;
        for (e in a) b[e] = a[e];
        for (e in c) b[e] = c[e];
        return b
    }
    function E(a, c) {
        var b = !/\W/.test(a) ? F[a] = F[a] || E(document.getElementById(a).innerHTML) : new Function("obj", "var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('" + a.replace(/[\r\t\n]/g, " ").split("<%").join("\t").replace(/((^|%>)[^\t]*)'/g, "$1\r").replace(/\t=(.*?)%>/g, "',$1,'").split("\t").join("');").split("%>").join("p.push('").split("\r").join("\\'") + "');}return p.join('');");
        return c ? b(c) : b
    }
    var r = this,
    B = {
        linear: function(a) {
            return a
        },
        easeInQuad: function(a) {
            return a * a
        },
        easeOutQuad: function(a) {
            return - 1 * a * (a - 2)
        },
        easeInOutQuad: function(a) {
            return 1 > (a /= 0.5) ? 0.5 * a * a: -0.5 * (--a * (a - 2) - 1)
        },
        easeInCubic: function(a) {
            return a * a * a
        },
        easeOutCubic: function(a) {
            return 1 * ((a = a / 1 - 1) * a * a + 1)
        },
        easeInOutCubic: function(a) {
            return 1 > (a /= 0.5) ? 0.5 * a * a * a: 0.5 * ((a -= 2) * a * a + 2)
        },
        easeInQuart: function(a) {
            return a * a * a * a
        },
        easeOutQuart: function(a) {
            return - 1 * ((a = a / 1 - 1) * a * a * a - 1)
        },
        easeInOutQuart: function(a) {
            return 1 > (a /= 0.5) ? 0.5 * a * a * a * a: -0.5 * ((a -= 2) * a * a * a - 2)
        },
        easeInQuint: function(a) {
            return 1 * (a /= 1) * a * a * a * a
        },
        easeOutQuint: function(a) {
            return 1 * ((a = a / 1 - 1) * a * a * a * a + 1)
        },
        easeInOutQuint: function(a) {
            return 1 > (a /= 0.5) ? 0.5 * a * a * a * a * a: 0.5 * ((a -= 2) * a * a * a * a + 2)
        },
        easeInSine: function(a) {
            return - 1 * Math.cos(a / 1 * (Math.PI / 2)) + 1
        },
        easeOutSine: function(a) {
            return 1 * Math.sin(a / 1 * (Math.PI / 2))
        },
        easeInOutSine: function(a) {
            return - 0.5 * (Math.cos(Math.PI * a / 1) - 1)
        },
        easeInExpo: function(a) {
            return 0 == a ? 1 : 1 * Math.pow(2, 10 * (a / 1 - 1))
        },
        easeOutExpo: function(a) {
            return 1 == a ? 1 : 1 * ( - Math.pow(2, -10 * a / 1) + 1)
        },
        easeInOutExpo: function(a) {
            return 0 == a ? 0 : 1 == a ? 1 : 1 > (a /= 0.5) ? 0.5 * Math.pow(2, 10 * (a - 1)) : 0.5 * ( - Math.pow(2, -10 * --a) + 2)
        },
        easeInCirc: function(a) {
            return 1 <= a ? a: -1 * (Math.sqrt(1 - (a /= 1) * a) - 1)
        },
        easeOutCirc: function(a) {
            return 1 * Math.sqrt(1 - (a = a / 1 - 1) * a)
        },
        easeInOutCirc: function(a) {
            return 1 > (a /= 0.5) ? -0.5 * (Math.sqrt(1 - a * a) - 1) : 0.5 * (Math.sqrt(1 - (a -= 2) * a) + 1)
        },
        easeInElastic: function(a) {
            var c = 1.70158,
            b = 0,
            e = 1;
            if (0 == a) return 0;
            if (1 == (a /= 1)) return 1;
            b || (b = 0.3);
            e < Math.abs(1) ? (e = 1, c = b / 4) : c = b / (2 * Math.PI) * Math.asin(1 / e);
            return - (e * Math.pow(2, 10 * (a -= 1)) * Math.sin((1 * a - c) * 2 * Math.PI / b))
        },
        easeOutElastic: function(a) {
            var c = 1.70158,
            b = 0,
            e = 1;
            if (0 == a) return 0;
            if (1 == (a /= 1)) return 1;
            b || (b = 0.3);
            e < Math.abs(1) ? (e = 1, c = b / 4) : c = b / (2 * Math.PI) * Math.asin(1 / e);
            return e * Math.pow(2, -10 * a) * Math.sin((1 * a - c) * 2 * Math.PI / b) + 1
        },
        easeInOutElastic: function(a) {
            var c = 1.70158,
            b = 0,
            e = 1;
            if (0 == a) return 0;
            if (2 == (a /= 0.5)) return 1;
            b || (b = 1 * 0.3 * 1.5);
            e < Math.abs(1) ? (e = 1, c = b / 4) : c = b / (2 * Math.PI) * Math.asin(1 / e);
            return 1 > a ? -0.5 * e * Math.pow(2, 10 * (a -= 1)) * Math.sin((1 * a - c) * 2 * Math.PI / b) : 0.5 * e * Math.pow(2, -10 * (a -= 1)) * Math.sin((1 * a - c) * 2 * Math.PI / b) + 1
        },
        easeInBack: function(a) {
            return 1 * (a /= 1) * a * (2.70158 * a - 1.70158)
        },
        easeOutBack: function(a) {
            return 1 * ((a = a / 1 - 1) * a * (2.70158 * a + 1.70158) + 1)
        },
        easeInOutBack: function(a) {
            var c = 1.70158;
            return 1 > (a /= 0.5) ? 0.5 * a * a * (((c *= 1.525) + 1) * a - c) : 0.5 * ((a -= 2) * a * (((c *= 1.525) + 1) * a + c) + 2)
        },
        easeInBounce: function(a) {
            return 1 - B.easeOutBounce(1 - a)
        },
        easeOutBounce: function(a) {
            return (a /= 1) < 1 / 2.75 ? 1 * 7.5625 * a * a: a < 2 / 2.75 ? 1 * (7.5625 * (a -= 1.5 / 2.75) * a + 0.75) : a < 2.5 / 2.75 ? 1 * (7.5625 * (a -= 2.25 / 2.75) * a + 0.9375) : 1 * (7.5625 * (a -= 2.625 / 2.75) * a + 0.984375)
        },
        easeInOutBounce: function(a) {
            return 0.5 > a ? 0.5 * B.easeInBounce(2 * a) : 0.5 * B.easeOutBounce(2 * a - 1) + 0.5
        }
    },
    q = s.canvas.width,
    u = s.canvas.height;
    window.devicePixelRatio && (s.canvas.style.width = q + "px", s.canvas.style.height = u + "px", s.canvas.height = u * window.devicePixelRatio, s.canvas.width = q * window.devicePixelRatio, s.scale(window.devicePixelRatio, window.devicePixelRatio));
    this.PolarArea = function(a, c) {
        r.PolarArea.defaults = {
            scaleOverlay: !0,
            scaleOverride: !1,
            scaleSteps: null,
            scaleStepWidth: null,
            scaleStartValue: null,
            scaleShowLine: !0,
            scaleLineColor: "rgba(0,0,0,.1)",
            scaleLineWidth: 1,
            scaleShowLabels: !0,
            scaleLabel: "<%=value%>",
            scaleFontFamily: "'Arial'",
            scaleFontSize: 12,
            scaleFontStyle: "normal",
            scaleFontColor: "#666",
            scaleShowLabelBackdrop: !0,
            scaleBackdropColor: "rgba(255,255,255,0.75)",
            scaleBackdropPaddingY: 2,
            scaleBackdropPaddingX: 2,
            segmentShowStroke: !0,
            segmentStrokeColor: "#fff",
            segmentStrokeWidth: 2,
            animation: !0,
            animationSteps: 100,
            animationEasing: "easeOutBounce",
            animateRotate: !0,
            animateScale: !1,
            onAnimationComplete: null
        };
        var b = c ? y(r.PolarArea.defaults, c) : r.PolarArea.defaults;
        return new G(a, b, s)
    };
    this.Radar = function(a, c) {
        r.Radar.defaults = {
            scaleOverlay: !1,
            scaleOverride: !1,
            scaleSteps: null,
            scaleStepWidth: null,
            scaleStartValue: null,
            scaleShowLine: !0,
            scaleLineColor: "rgba(0,0,0,.1)",
            scaleLineWidth: 1,
            scaleShowLabels: !1,
            scaleLabel: "<%=value%>",
            scaleFontFamily: "'Arial'",
            scaleFontSize: 12,
            scaleFontStyle: "normal",
            scaleFontColor: "#666",
            scaleShowLabelBackdrop: !0,
            scaleBackdropColor: "rgba(255,255,255,0.75)",
            scaleBackdropPaddingY: 2,
            scaleBackdropPaddingX: 2,
            angleShowLineOut: !0,
            angleLineColor: "rgba(0,0,0,.1)",
            angleLineWidth: 1,
            pointLabelFontFamily: "'Arial'",
            pointLabelFontStyle: "normal",
            pointLabelFontSize: 12,
            pointLabelFontColor: "#666",
            pointDot: !0,
            pointDotRadius: 3,
            pointDotStrokeWidth: 1,
            datasetStroke: !0,
            datasetStrokeWidth: 2,
            datasetFill: !0,
            animation: !0,
            animationSteps: 60,
            animationEasing: "easeOutQuart",
            onAnimationComplete: null
        };
        var b = c ? y(r.Radar.defaults, c) : r.Radar.defaults;
        return new H(a, b, s)
    };
    this.Pie = function(a, c) {
        r.Pie.defaults = {
            segmentShowStroke: !0,
            segmentStrokeColor: "#fff",
            segmentStrokeWidth: 2,
            animation: !0,
            animationSteps: 100,
            animationEasing: "easeOutBounce",
            animateRotate: !0,
            animateScale: !1,
            onAnimationComplete: null
        };
        var b = c ? y(r.Pie.defaults, c) : r.Pie.defaults;
        return new I(a, b, s)
    };
    this.Doughnut = function(a, c) {
        r.Doughnut.defaults = {
            segmentShowStroke: !0,
            segmentStrokeColor: "#fff",
            segmentStrokeWidth: 2,
            percentageInnerCutout: 50,
            animation: !0,
            animationSteps: 100,
            animationEasing: "easeOutBounce",
            animateRotate: !0,
            animateScale: !1,
            onAnimationComplete: null
        };
        var b = c ? y(r.Doughnut.defaults, c) : r.Doughnut.defaults;
        return new J(a, b, s)
    };
    this.Line = function(a, c) {
        r.Line.defaults = {
            scaleOverlay: !1,
            scaleOverride: !1,
            scaleSteps: null,
            scaleStepWidth: null,
            scaleStartValue: null,
            scaleLineColor: "rgba(0,0,0,.1)",
            scaleLineWidth: 1,
            scaleShowLabels: !0,
            scaleLabel: "<%=value%>",
            scaleFontFamily: "'Arial'",
            scaleFontSize: 12,
            scaleFontStyle: "normal",
            scaleFontColor: "#666",
            scaleShowGridLines: !0,
            scaleGridLineColor: "rgba(0,0,0,.05)",
            scaleGridLineWidth: 1,
            bezierCurve: !0,
            pointDot: !0,
            pointDotRadius: 4,
            pointDotStrokeWidth: 2,
            datasetStroke: !0,
            datasetStrokeWidth: 2,
            datasetFill: !0,
            animation: !0,
            animationSteps: 60,
            animationEasing: "easeOutQuart",
            onAnimationComplete: null
        };
        var b = c ? y(r.Line.defaults, c) : r.Line.defaults;
        return new K(a, b, s)
    };
    this.Bar = function(a, c) {
        r.Bar.defaults = {
            scaleOverlay: !1,
            scaleOverride: !1,
            scaleSteps: null,
            scaleStepWidth: null,
            scaleStartValue: null,
            scaleLineColor: "rgba(0,0,0,.1)",
            scaleLineWidth: 1,
            scaleShowLabels: !0,
            scaleLabel: "<%=value%>",
            scaleFontFamily: "'Arial'",
            scaleFontSize: 12,
            scaleFontStyle: "normal",
            scaleFontColor: "#666",
            scaleShowGridLines: !0,
            scaleGridLineColor: "rgba(0,0,0,.05)",
            scaleGridLineWidth: 1,
            barShowStroke: !0,
            barStrokeWidth: 2,
            barValueSpacing: 5,
            barDatasetSpacing: 1,
            animation: !0,
            animationSteps: 60,
            animationEasing: "easeOutQuart",
            onAnimationComplete: null
        };
        var b = c ? y(r.Bar.defaults, c) : r.Bar.defaults;
        return new L(a, b, s)
    };
    var G = function(a, c, b) {
        var e, h, f, d, g, k, j, l, m;
        g = Math.min.apply(Math, [q, u]) / 2;
        g -= Math.max.apply(Math, [0.5 * c.scaleFontSize, 0.5 * c.scaleLineWidth]);
        d = 2 * c.scaleFontSize;
        c.scaleShowLabelBackdrop && (d += 2 * c.scaleBackdropPaddingY, g -= 1.5 * c.scaleBackdropPaddingY);
        l = g;
        d = d ? d: 5;
        e = Number.MIN_VALUE;
        h = Number.MAX_VALUE;
        for (f = 0; f < a.length; f++) a[f].value > e && (e = a[f].value),
        a[f].value < h && (h = a[f].value);
        f = Math.floor(l / (0.66 * d));
        d = Math.floor(0.5 * (l / d));
        m = c.scaleShowLabels ? c.scaleLabel: null;
        c.scaleOverride ? (j = {
            steps: c.scaleSteps,
            stepValue: c.scaleStepWidth,
            graphMin: c.scaleStartValue,
            labels: []
        },
        z(m, j.labels, j.steps, c.scaleStartValue, c.scaleStepWidth)) : j = C(l, f, d, e, h, m);
        k = g / j.steps;
        x(c,
        function() {
            for (var a = 0; a < j.steps; a++) if (c.scaleShowLine && (b.beginPath(), b.arc(q / 2, u / 2, k * (a + 1), 0, 2 * Math.PI, !0), b.strokeStyle = c.scaleLineColor, b.lineWidth = c.scaleLineWidth, b.stroke()), c.scaleShowLabels) {
                b.textAlign = "center";
                b.font = c.scaleFontStyle + " " + c.scaleFontSize + "px " + c.scaleFontFamily;
                var e = j.labels[a];
                if (c.scaleShowLabelBackdrop) {
                    var d = b.measureText(e).width;
                    b.fillStyle = c.scaleBackdropColor;
                    b.beginPath();
                    b.rect(Math.round(q / 2 - d / 2 - c.scaleBackdropPaddingX), Math.round(u / 2 - k * (a + 1) - 0.5 * c.scaleFontSize - c.scaleBackdropPaddingY), Math.round(d + 2 * c.scaleBackdropPaddingX), Math.round(c.scaleFontSize + 2 * c.scaleBackdropPaddingY));
                    b.fill()
                }
                b.textBaseline = "middle";
                b.fillStyle = c.scaleFontColor;
                b.fillText(e, q / 2, u / 2 - k * (a + 1))
            }
        },
        function(e) {
            var d = -Math.PI / 2,
            g = 2 * Math.PI / a.length,
            f = 1,
            h = 1;
            c.animation && (c.animateScale && (f = e), c.animateRotate && (h = e));
            for (e = 0; e < a.length; e++) b.beginPath(),
            b.arc(q / 2, u / 2, f * v(a[e].value, j, k), d, d + h * g, !1),
            b.lineTo(q / 2, u / 2),
            b.closePath(),
            b.fillStyle = a[e].color,
            b.fill(),
            c.segmentShowStroke && (b.strokeStyle = c.segmentStrokeColor, b.lineWidth = c.segmentStrokeWidth, b.stroke()),
            d += h * g
        },
        b)
    },
    H = function(a, c, b) {
        var e, h, f, d, g, k, j, l, m;
        a.labels || (a.labels = []);
        g = Math.min.apply(Math, [q, u]) / 2;
        d = 2 * c.scaleFontSize;
        for (e = l = 0; e < a.labels.length; e++) b.font = c.pointLabelFontStyle + " " + c.pointLabelFontSize + "px " + c.pointLabelFontFamily,
        h = b.measureText(a.labels[e]).width,
        h > l && (l = h);
        g -= Math.max.apply(Math, [l, 1.5 * (c.pointLabelFontSize / 2)]);
        g -= c.pointLabelFontSize;
        l = g = A(g, null, 0);
        d = d ? d: 5;
        e = Number.MIN_VALUE;
        h = Number.MAX_VALUE;
        for (f = 0; f < a.datasets.length; f++) for (m = 0; m < a.datasets[f].data.length; m++) a.datasets[f].data[m] > e && (e = a.datasets[f].data[m]),
        a.datasets[f].data[m] < h && (h = a.datasets[f].data[m]);
        f = Math.floor(l / (0.66 * d));
        d = Math.floor(0.5 * (l / d));
        m = c.scaleShowLabels ? c.scaleLabel: null;
        c.scaleOverride ? (j = {
            steps: c.scaleSteps,
            stepValue: c.scaleStepWidth,
            graphMin: c.scaleStartValue,
            labels: []
        },
        z(m, j.labels, j.steps, c.scaleStartValue, c.scaleStepWidth)) : j = C(l, f, d, e, h, m);
        k = g / j.steps;
        x(c,
        function() {
            var e = 2 * Math.PI / a.datasets[0].data.length;
            b.save();
            b.translate(q / 2, u / 2);
            if (c.angleShowLineOut) {
                b.strokeStyle = c.angleLineColor;
                b.lineWidth = c.angleLineWidth;
                for (var d = 0; d < a.datasets[0].data.length; d++) b.rotate(e),
                b.beginPath(),
                b.moveTo(0, 0),
                b.lineTo(0, -g),
                b.stroke()
            }
            for (d = 0; d < j.steps; d++) {
                b.beginPath();
                if (c.scaleShowLine) {
                    b.strokeStyle = c.scaleLineColor;
                    b.lineWidth = c.scaleLineWidth;
                    b.moveTo(0, -k * (d + 1));
                    for (var f = 0; f < a.datasets[0].data.length; f++) b.rotate(e),
                    b.lineTo(0, -k * (d + 1));
                    b.closePath();
                    b.stroke()
                }
                c.scaleShowLabels && (b.textAlign = "center", b.font = c.scaleFontStyle + " " + c.scaleFontSize + "px " + c.scaleFontFamily, b.textBaseline = "middle", c.scaleShowLabelBackdrop && (f = b.measureText(j.labels[d]).width, b.fillStyle = c.scaleBackdropColor, b.beginPath(), b.rect(Math.round( - f / 2 - c.scaleBackdropPaddingX), Math.round( - k * (d + 1) - 0.5 * c.scaleFontSize - c.scaleBackdropPaddingY), Math.round(f + 2 * c.scaleBackdropPaddingX), Math.round(c.scaleFontSize + 2 * c.scaleBackdropPaddingY)), b.fill()), b.fillStyle = c.scaleFontColor, b.fillText(j.labels[d], 0, -k * (d + 1)))
            }
            for (d = 0; d < a.labels.length; d++) {
                b.font = c.pointLabelFontStyle + " " + c.pointLabelFontSize + "px " + c.pointLabelFontFamily;
                b.fillStyle = c.pointLabelFontColor;
                var f = Math.sin(e * d) * (g + c.pointLabelFontSize),
                h = Math.cos(e * d) * (g + c.pointLabelFontSize);
                b.textAlign = e * d == Math.PI || 0 == e * d ? "center": e * d > Math.PI ? "right": "left";
                b.textBaseline = "middle";
                b.fillText(a.labels[d], f, -h)
            }
            b.restore()
        },
        function(d) {
            var e = 2 * Math.PI / a.datasets[0].data.length;
            b.save();
            b.translate(q / 2, u / 2);
            for (var g = 0; g < a.datasets.length; g++) {
                b.beginPath();
                b.moveTo(0, d * -1 * v(a.datasets[g].data[0], j, k));
                for (var f = 1; f < a.datasets[g].data.length; f++) b.rotate(e),
                b.lineTo(0, d * -1 * v(a.datasets[g].data[f], j, k));
                b.closePath();
                b.fillStyle = a.datasets[g].fillColor;
                b.strokeStyle = a.datasets[g].strokeColor;
                b.lineWidth = c.datasetStrokeWidth;
                b.fill();
                b.stroke();
                if (c.pointDot) {
                    b.fillStyle = a.datasets[g].pointColor;
                    b.strokeStyle = a.datasets[g].pointStrokeColor;
                    b.lineWidth = c.pointDotStrokeWidth;
                    for (f = 0; f < a.datasets[g].data.length; f++) b.rotate(e),
                    b.beginPath(),
                    b.arc(0, d * -1 * v(a.datasets[g].data[f], j, k), c.pointDotRadius, 2 * Math.PI, !1),
                    b.fill(),
                    b.stroke()
                }
                b.rotate(e)
            }
            b.restore()
        },
        b)
    },
    I = function(a, c, b) {
        for (var e = 0,
        h = Math.min.apply(Math, [u / 2, q / 2]) - 5, f = 0; f < a.length; f++) e += a[f].value;
        x(c, null,
        function(d) {
            var g = -Math.PI / 2,
            f = 1,
            j = 1;
            c.animation && (c.animateScale && (f = d), c.animateRotate && (j = d));
            for (d = 0; d < a.length; d++) {
                var l = j * a[d].value / e * 2 * Math.PI;
                b.beginPath();
                b.arc(q / 2, u / 2, f * h, g, g + l);
                b.lineTo(q / 2, u / 2);
                b.closePath();
                b.fillStyle = a[d].color;
                b.fill();
                c.segmentShowStroke && (b.lineWidth = c.segmentStrokeWidth, b.strokeStyle = c.segmentStrokeColor, b.stroke());
                g += l
            }
        },
        b)
    },
    J = function(a, c, b) {
        for (var e = 0,
        h = Math.min.apply(Math, [u / 2, q / 2]) - 5, f = h * (c.percentageInnerCutout / 100), d = 0; d < a.length; d++) e += a[d].value;
        x(c, null,
        function(d) {
            var k = -Math.PI / 2,
            j = 1,
            l = 1;
            c.animation && (c.animateScale && (j = d), c.animateRotate && (l = d));
            for (d = 0; d < a.length; d++) {
                var m = l * a[d].value / e * 2 * Math.PI;
                b.beginPath();
                b.arc(q / 2, u / 2, j * h, k, k + m, !1);
                b.arc(q / 2, u / 2, j * f, k + m, k, !0);
                b.closePath();
                b.fillStyle = a[d].color;
                b.fill();
                c.segmentShowStroke && (b.lineWidth = c.segmentStrokeWidth, b.strokeStyle = c.segmentStrokeColor, b.stroke());
                k += m
            }
        },
        b)
    },
    K = function(a, c, b) {
        var e, h, f, d, g, k, j, l, m, t, r, n, p, s = 0;
        g = u;
        b.font = c.scaleFontStyle + " " + c.scaleFontSize + "px " + c.scaleFontFamily;
        t = 1;
        for (d = 0; d < a.labels.length; d++) e = b.measureText(a.labels[d]).width,
        t = e > t ? e: t;
        q / a.labels.length < t ? (s = 45, q / a.labels.length < Math.cos(s) * t ? (s = 90, g -= t) : g -= Math.sin(s) * t) : g -= c.scaleFontSize;
        d = c.scaleFontSize;
        g = g - 5 - d;
        e = Number.MIN_VALUE;
        h = Number.MAX_VALUE;
        for (f = 0; f < a.datasets.length; f++) for (l = 0; l < a.datasets[f].data.length; l++) a.datasets[f].data[l] > e && (e = a.datasets[f].data[l]),
        a.datasets[f].data[l] < h && (h = a.datasets[f].data[l]);
        f = Math.floor(g / (0.66 * d));
        d = Math.floor(0.5 * (g / d));
        l = c.scaleShowLabels ? c.scaleLabel: "";
        c.scaleOverride ? (j = {
            steps: c.scaleSteps,
            stepValue: c.scaleStepWidth,
            graphMin: c.scaleStartValue,
            labels: []
        },
        z(l, j.labels, j.steps, c.scaleStartValue, c.scaleStepWidth)) : j = C(g, f, d, e, h, l);
        k = Math.floor(g / j.steps);
        d = 1;
        if (c.scaleShowLabels) {
            b.font = c.scaleFontStyle + " " + c.scaleFontSize + "px " + c.scaleFontFamily;
            for (e = 0; e < j.labels.length; e++) h = b.measureText(j.labels[e]).width,
            d = h > d ? h: d;
            d += 10
        }
        r = q - d - t;
        m = Math.floor(r / (a.labels.length - 1));
        n = q - t / 2 - r;
        p = g + c.scaleFontSize / 2;
        x(c,
        function() {
            b.lineWidth = c.scaleLineWidth;
            b.strokeStyle = c.scaleLineColor;
            b.beginPath();
            b.moveTo(q - t / 2 + 5, p);
            b.lineTo(q - t / 2 - r - 5, p);
            b.stroke();
            0 < s ? (b.save(), b.textAlign = "right") : b.textAlign = "center";
            b.fillStyle = c.scaleFontColor;
            for (var d = 0; d < a.labels.length; d++) b.save(),
            0 < s ? (b.translate(n + d * m, p + c.scaleFontSize), b.rotate( - (s * (Math.PI / 180))), b.fillText(a.labels[d], 0, 0), b.restore()) : b.fillText(a.labels[d], n + d * m, p + c.scaleFontSize + 3),
            b.beginPath(),
            b.moveTo(n + d * m, p + 3),
            c.scaleShowGridLines && 0 < d ? (b.lineWidth = c.scaleGridLineWidth, b.strokeStyle = c.scaleGridLineColor, b.lineTo(n + d * m, 5)) : b.lineTo(n + d * m, p + 3),
            b.stroke();
            b.lineWidth = c.scaleLineWidth;
            b.strokeStyle = c.scaleLineColor;
            b.beginPath();
            b.moveTo(n, p + 5);
            b.lineTo(n, 5);
            b.stroke();
            b.textAlign = "right";
            b.textBaseline = "middle";
            for (d = 0; d < j.steps; d++) b.beginPath(),
            b.moveTo(n - 3, p - (d + 1) * k),
            c.scaleShowGridLines ? (b.lineWidth = c.scaleGridLineWidth, b.strokeStyle = c.scaleGridLineColor, b.lineTo(n + r + 5, p - (d + 1) * k)) : b.lineTo(n - 0.5, p - (d + 1) * k),
            b.stroke(),
            c.scaleShowLabels && b.fillText(j.labels[d], n - 8, p - (d + 1) * k)
        },
        function(d) {
            function e(b, c) {
                return p - d * v(a.datasets[b].data[c], j, k)
            }
            for (var f = 0; f < a.datasets.length; f++) {
                b.strokeStyle = a.datasets[f].strokeColor;
                b.lineWidth = c.datasetStrokeWidth;
                b.beginPath();
                b.moveTo(n, p - d * v(a.datasets[f].data[0], j, k));
                for (var g = 1; g < a.datasets[f].data.length; g++) c.bezierCurve ? b.bezierCurveTo(n + m * (g - 0.5), e(f, g - 1), n + m * (g - 0.5), e(f, g), n + m * g, e(f, g)) : b.lineTo(n + m * g, e(f, g));
                b.stroke();
                c.datasetFill ? (b.lineTo(n + m * (a.datasets[f].data.length - 1), p), b.lineTo(n, p), b.closePath(), b.fillStyle = a.datasets[f].fillColor, b.fill()) : b.closePath();
                if (c.pointDot) {
                    b.fillStyle = a.datasets[f].pointColor;
                    b.strokeStyle = a.datasets[f].pointStrokeColor;
                    b.lineWidth = c.pointDotStrokeWidth;
                    for (g = 0; g < a.datasets[f].data.length; g++) b.beginPath(),
                    b.arc(n + m * g, p - d * v(a.datasets[f].data[g], j, k), c.pointDotRadius, 0, 2 * Math.PI, !0),
                    b.fill(),
                    b.stroke()
                }
            }
        },
        b)
    },
    L = function(a, c, b) {
        var e, h, f, d, g, k, j, l, m, t, r, n, p, s, w = 0;
        g = u;
        b.font = c.scaleFontStyle + " " + c.scaleFontSize + "px " + c.scaleFontFamily;
        t = 1;
        for (d = 0; d < a.labels.length; d++) e = b.measureText(a.labels[d]).width,
        t = e > t ? e: t;
        q / a.labels.length < t ? (w = 45, q / a.labels.length < Math.cos(w) * t ? (w = 90, g -= t) : g -= Math.sin(w) * t) : g -= c.scaleFontSize;
        d = c.scaleFontSize;
        g = g - 5 - d;
        e = Number.MIN_VALUE;
        h = Number.MAX_VALUE;
        for (f = 0; f < a.datasets.length; f++) for (l = 0; l < a.datasets[f].data.length; l++) a.datasets[f].data[l] > e && (e = a.datasets[f].data[l]),
        a.datasets[f].data[l] < h && (h = a.datasets[f].data[l]);
        f = Math.floor(g / (0.66 * d));
        d = Math.floor(0.5 * (g / d));
        l = c.scaleShowLabels ? c.scaleLabel: "";
        c.scaleOverride ? (j = {
            steps: c.scaleSteps,
            stepValue: c.scaleStepWidth,
            graphMin: c.scaleStartValue,
            labels: []
        },
        z(l, j.labels, j.steps, c.scaleStartValue, c.scaleStepWidth)) : j = C(g, f, d, e, h, l);
        k = Math.floor(g / j.steps);
        d = 1;
        if (c.scaleShowLabels) {
            b.font = c.scaleFontStyle + " " + c.scaleFontSize + "px " + c.scaleFontFamily;
            for (e = 0; e < j.labels.length; e++) h = b.measureText(j.labels[e]).width,
            d = h > d ? h: d;
            d += 10
        }
        r = q - d - t;
        m = Math.floor(r / a.labels.length);
        s = (m - 2 * c.scaleGridLineWidth - 2 * c.barValueSpacing - (c.barDatasetSpacing * a.datasets.length - 1) - (c.barStrokeWidth / 2 * a.datasets.length - 1)) / a.datasets.length;
        n = q - t / 2 - r;
        p = g + c.scaleFontSize / 2;
        x(c,
        function() {
            b.lineWidth = c.scaleLineWidth;
            b.strokeStyle = c.scaleLineColor;
            b.beginPath();
            b.moveTo(q - t / 2 + 5, p);
            b.lineTo(q - t / 2 - r - 5, p);
            b.stroke();
            0 < w ? (b.save(), b.textAlign = "right") : b.textAlign = "center";
            b.fillStyle = c.scaleFontColor;
            for (var d = 0; d < a.labels.length; d++) b.save(),
            0 < w ? (b.translate(n + d * m, p + c.scaleFontSize), b.rotate( - (w * (Math.PI / 180))), b.fillText(a.labels[d], 0, 0), b.restore()) : b.fillText(a.labels[d], n + d * m + m / 2, p + c.scaleFontSize + 3),
            b.beginPath(),
            b.moveTo(n + (d + 1) * m, p + 3),
            b.lineWidth = c.scaleGridLineWidth,
            b.strokeStyle = c.scaleGridLineColor,
            b.lineTo(n + (d + 1) * m, 5),
            b.stroke();
            b.lineWidth = c.scaleLineWidth;
            b.strokeStyle = c.scaleLineColor;
            b.beginPath();
            b.moveTo(n, p + 5);
            b.lineTo(n, 5);
            b.stroke();
            b.textAlign = "right";
            b.textBaseline = "middle";
            for (d = 0; d < j.steps; d++) b.beginPath(),
            b.moveTo(n - 3, p - (d + 1) * k),
            c.scaleShowGridLines ? (b.lineWidth = c.scaleGridLineWidth, b.strokeStyle = c.scaleGridLineColor, b.lineTo(n + r + 5, p - (d + 1) * k)) : b.lineTo(n - 0.5, p - (d + 1) * k),
            b.stroke(),
            c.scaleShowLabels && b.fillText(j.labels[d], n - 8, p - (d + 1) * k)
        },
        function(d) {
            b.lineWidth = c.barStrokeWidth;
            for (var e = 0; e < a.datasets.length; e++) {
                b.fillStyle = a.datasets[e].fillColor;
                b.strokeStyle = a.datasets[e].strokeColor;
                for (var f = 0; f < a.datasets[e].data.length; f++) {
                    var g = n + c.barValueSpacing + m * f + s * e + c.barDatasetSpacing * e + c.barStrokeWidth * e;
                    b.beginPath();
                    b.moveTo(g, p);
                    b.lineTo(g, p - d * v(a.datasets[e].data[f], j, k) + c.barStrokeWidth / 2);
                    b.lineTo(g + s, p - d * v(a.datasets[e].data[f], j, k) + c.barStrokeWidth / 2);
                    b.lineTo(g + s, p);
                    c.barShowStroke && b.stroke();
                    b.closePath();
                    b.fill()
                }
            }
        },
        b)
    },
    D = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame ||
    function(a) {
        window.setTimeout(a, 1E3 / 60)
    },
    F = {}
};

</script> 
<script type="text/javascript">
function scoreChange(a) {
    function e() {
        var b = document.getElementById("doughnutChartCanvas").getContext("2d");
        new Chart(b).Doughnut(c, d),
        $("#resumeScore .scoreVal span").text(a).parent().fadeIn(200),
        100 == a ? $("#resumeScore .which span").html('<a href="' + ctx + '/jobs/list_所有职位">马上去投递</a>') : $("#resumeScore .which span").html("<a>马上去完善</a>")
    }
    var b = 360 * parseInt(a) / 100,
    c = [{
        value: b,
        color: "#009a6d"
    },
    {
        value: 360 - b,
        color: "#ffffff"
    }],
    d = {
        percentageInnerCutout: 80,
        segmentShowStroke: !1,
        animationEasing: "easeOutQuart"
    };
    setTimeout(e, 300)
}
function changeAllIds(a) {
    var c, d, e, f, b = JSON.parse(a);
    $("#resumeId").val(b.resumeId.n),
    c = b.expId,
    d = b.eduId,
    e = b.projectId,
    f = b.showId,
    $("#workExperience .wlist li").each(function() {
        var b, a = $(this).attr("data-id");
        for (b = 0; b < c.length; b++) a == c[b].o && $(this).attr("data-id", c[b].n)
    }),
    $("#projectExperience .plist li").each(function() {
        var b, a = $(this).attr("data-id");
        for (b = 0; b < e.length; b++) a == e[b].o && $(this).attr("data-id", e[b].n)
    }),
    $("#educationalBackground .elist li").each(function() {
        var b, a = $(this).attr("data-id");
        for (b = 0; b < d.length; b++) a == d[b].o && $(this).attr("data-id", d[b].n)
    }),
    $("#worksShow .slist li").each(function() {
        var b, a = $(this).attr("data-id");
        for (b = 0; b < f.length; b++) a == f[b].o && $(this).attr("data-id", f[b].n)
    })
}
function openYear(a) {
    $(".profile_select_normal").removeClass("select_focus"),
    $(".boxUpDown").hide(),
    $(".select_" + a).addClass("select_focus"),
    $(".box_" + a).show()
}
function selectYear(a, b) {
    $(".select_" + a).val(b).css("color", "#333").removeClass("select_focus"),
    $("." + a).val(b),
    $(".box_" + a).hide()
}
function suggestCompany(a, b) {
    var c = "";
    $.ajax({
        type: "POST",
        async: !1,
        url: ctx + "/c/companySearchCompanyLs.json",
        data: {
            kd: a
        },
        dataType: "json"
    }).done(function(a) {
        c = a
    }),
    $(b).autocomplete({
        source: c
    })
}
function suggestPosition(a, b) {
    var c = "";
    $.ajax({
        type: "POST",
        async: !1,
        url: ctx + "/jobs/listLs",
        data: {
            pl: a
        },
        dataType: "json"
    }).done(function(a) {
        a.success && (c = a.content.result)
    }),
    $(b).autocomplete({
        source: c
    })
}
function click_scroll(a) {
    var b = $("#" + a).offset();
    switch (a) {
    case "expectJob":
        $("#expectJob .expectAdd").trigger("click");
        break;
    case "workExperience":
        $("#workExperience .experienceAdd").trigger("click");
        break;
    case "projectExperience":
        $("#projectExperience .projectAdd").trigger("click");
        break;
    case "educationalBackground":
        $("#educationalBackground .educationalAdd").trigger("click");
        break;
    case "selfDescription":
        $("#selfDescription .descriptionAdd").trigger("click");
        break;
    case "worksShow":
        $("#worksShow .workAdd").trigger("click");
        break;
    default:
        return
    }
    $("body,html").animate({
        scrollTop:
        b.top
    },
    400,
    function() {
        $("#" + a).animate({
            borderColor: "#e46a4a"
        },
        300,
        function() {
            $(this).animate({
                borderColor: "transparent"
            })
        })
    })
}
function img_check(a, b, c) {
    var a = $("#" + c);
    this.AllowExt = ".jpg,.gif,.jpeg,.png,.pjpeg",
    this.FileExt = a.val().substr(a.val().lastIndexOf(".")).toLowerCase(),
    0 != this.AllowExt && -1 == this.AllowExt.indexOf(this.FileExt) ? errorTips("只支持jpg、gif、png、jpeg格式，请重新上传", "上传头像") : ($("#" + c + "_error").text("").hide(), $.ajaxFileUpload({
        url: b,
        secureuri: !1,
        fileElementId: c,
        data: {
            headPic: a.val()
        },
        dataType: "json",
        success: function(a) {
            if (a.success) {
                var b = a.content;
                $("#portraitShow img").attr("src", ctx + "/" + b),
                $("#basicInfo .basicShow img").attr("src", ctx + "/" + b),
                $("#portraitNo").hide(),
                $("#portraitShow").show()
            } else errorTips("上传失败，请重新上传", "上传头像")
        },
        error: function() {
            errorTips("上传失败，请重新上传", "上传头像")
        }
    }))
}
function file_check(obj, action_url, id) {
    var userId;
    $("#loadingImg").css("visibility", "visible"),
    obj = $("#" + id),
    userId = $("#userid").val(),
    this.AllowExt = ".doc,.docx,.xls,.xlsx,.pdf,.ppt,.pptx,.txt,.html",
    this.FileExt = obj.val().substr(obj.val().lastIndexOf(".")).toLowerCase(),
    0 != this.AllowExt && -1 == this.AllowExt.indexOf(this.FileExt) ? (errorTips("只支持word、excel、pdf、ppt、txt、wps、html格式文件，请重新上传"), $("#loadingImg").css("visibility", "hidden")) : $.ajaxFileUpload({
        type: "POST",
        url: action_url,
        secureuri: !1,
        fileElementId: id,
        data: {
            userId: userId
        },
        dataType: "text",
        success: function(jsonStr) {
            var html, json = eval("(" + jsonStr + ")");
            $("#loadingImg").css("visibility", "hidden"),
            json.success ? (html = '<a href="' + ctx + '/nearBy/downloadResume" class="resume_download" title="下载' + json.content.nearbyName + '">' + json.content.nearbyName + "</a>" + '<a  class="fr del" href="javascript:;">删除</a><br /><span class="c9">上传时间：' + json.content.time + "</span>", $("#myResume .resumeUploadDiv").html(html), $("#myResume h2 a").html("重新上传"), $.colorbox({
                inline: !0,
                href: $("div#uploadFileSuccess"),
                title: "上传附件简历"
            })) : errorTips("上传失败，请重新上传")
        },
        error: function(a) {
            console.log(a)
        }
    })
} !
function(a, b) {
    function c(a, b, c) {
        var d = k[b.type] || {};
        return null == a ? c || !b.def ? null: b.def: (a = d.floor ? ~~a: parseFloat(a), isNaN(a) ? b.def: d.mod ? (a + d.mod) % d.mod: 0 > a ? 0 : d.max < a ? d.max: a)
    }
    function d(b) {
        var c = i(),
        d = c._rgba = [];
        return b = b.toLowerCase(),
        o(h,
        function(a, e) {
            var f, g = e.re.exec(b),
            h = g && e.parse(g),
            i = e.space || "rgba";
            return h ? (f = c[i](h), c[j[i].cache] = f[j[i].cache], d = c._rgba = f._rgba, !1) : void 0
        }),
        d.length ? ("0,0,0,0" === d.join() && a.extend(d, n.transparent), c) : n[b]
    }
    function e(a, b, c) {
        return c = (c + 1) % 1,
        1 > 6 * c ? a + 6 * (b - a) * c: 1 > 2 * c ? b: 2 > 3 * c ? a + 6 * (b - a) * (2 / 3 - c) : a
    }
    var n, f = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",
    g = /^([\-+])=\s*(\d+\.?\d*)/,
    h = [{
        re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
        parse: function(a) {
            return [a[1], a[2], a[3], a[4]]
        }
    },
    {
        re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
        parse: function(a) {
            return [2.55 * a[1], 2.55 * a[2], 2.55 * a[3], a[4]]
        }
    },
    {
        re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,
        parse: function(a) {
            return [parseInt(a[1], 16), parseInt(a[2], 16), parseInt(a[3], 16)]
        }
    },
    {
        re: /#([a-f0-9])([a-f0-9])([a-f0-9])/,
        parse: function(a) {
            return [parseInt(a[1] + a[1], 16), parseInt(a[2] + a[2], 16), parseInt(a[3] + a[3], 16)]
        }
    },
    {
        re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
        space: "hsla",
        parse: function(a) {
            return [a[1], a[2] / 100, a[3] / 100, a[4]]
        }
    }],
    i = a.Color = function(b, c, d, e) {
        return new a.Color.fn.parse(b, c, d, e)
    },
    j = {
        rgba: {
            props: {
                red: {
                    idx: 0,
                    type: "byte"
                },
                green: {
                    idx: 1,
                    type: "byte"
                },
                blue: {
                    idx: 2,
                    type: "byte"
                }
            }
        },
        hsla: {
            props: {
                hue: {
                    idx: 0,
                    type: "degrees"
                },
                saturation: {
                    idx: 1,
                    type: "percent"
                },
                lightness: {
                    idx: 2,
                    type: "percent"
                }
            }
        }
    },
    k = {
        "byte": {
            floor: !0,
            max: 255
        },
        percent: {
            max: 1
        },
        degrees: {
            mod: 360,
            floor: !0
        }
    },
    l = i.support = {},
    m = a("<p>")[0],
    o = a.each;
    m.style.cssText = "background-color:rgba(1,1,1,.5)",
    l.rgba = m.style.backgroundColor.indexOf("rgba") > -1,
    o(j,
    function(a, b) {
        b.cache = "_" + a,
        b.props.alpha = {
            idx: 3,
            type: "percent",
            def: 1
        }
    }),
    i.fn = a.extend(i.prototype, {
        parse: function(e, f, g, h) {
            if (e === b) return this._rgba = [null, null, null, null],
            this; (e.jquery || e.nodeType) && (e = a(e).css(f), f = b);
            var k = this,
            l = a.type(e),
            m = this._rgba = [];
            return f !== b && (e = [e, f, g, h], l = "array"),
            "string" === l ? this.parse(d(e) || n._default) : "array" === l ? (o(j.rgba.props,
            function(a, b) {
                m[b.idx] = c(e[b.idx], b)
            }), this) : "object" === l ? (e instanceof i ? o(j,
            function(a, b) {
                e[b.cache] && (k[b.cache] = e[b.cache].slice())
            }) : o(j,
            function(b, d) {
                var f = d.cache;
                o(d.props,
                function(a, b) {
                    if (!k[f] && d.to) {
                        if ("alpha" === a || null == e[a]) return;
                        k[f] = d.to(k._rgba)
                    }
                    k[f][b.idx] = c(e[a], b, !0)
                }),
                k[f] && a.inArray(null, k[f].slice(0, 3)) < 0 && (k[f][3] = 1, d.from && (k._rgba = d.from(k[f])))
            }), this) : void 0
        },
        is: function(a) {
            var b = i(a),
            c = !0,
            d = this;
            return o(j,
            function(a, e) {
                var f, g = b[e.cache];
                return g && (f = d[e.cache] || e.to && e.to(d._rgba) || [], o(e.props,
                function(a, b) {
                    return null != g[b.idx] ? c = g[b.idx] === f[b.idx] : void 0
                })),
                c
            }),
            c
        },
        _space: function() {
            var a = [],
            b = this;
            return o(j,
            function(c, d) {
                b[d.cache] && a.push(c)
            }),
            a.pop()
        },
        transition: function(a, b) {
            var d = i(a),
            e = d._space(),
            f = j[e],
            g = 0 === this.alpha() ? i("transparent") : this,
            h = g[f.cache] || f.to(g._rgba),
            l = h.slice();
            return d = d[f.cache],
            o(f.props,
            function(a, e) {
                var f = e.idx,
                g = h[f],
                i = d[f],
                j = k[e.type] || {};
                null !== i && (null === g ? l[f] = i: (j.mod && (i - g > j.mod / 2 ? g += j.mod: g - i > j.mod / 2 && (g -= j.mod)), l[f] = c((i - g) * b + g, e)))
            }),
            this[e](l)
        },
        blend: function(b) {
            if (1 === this._rgba[3]) return this;
            var c = this._rgba.slice(),
            d = c.pop(),
            e = i(b)._rgba;
            return i(a.map(c,
            function(a, b) {
                return (1 - d) * e[b] + d * a
            }))
        },
        toRgbaString: function() {
            var b = "rgba(",
            c = a.map(this._rgba,
            function(a, b) {
                return null == a ? b > 2 ? 1 : 0 : a
            });
            return 1 === c[3] && (c.pop(), b = "rgb("),
            b + c.join() + ")"
        },
        toHslaString: function() {
            var b = "hsla(",
            c = a.map(this.hsla(),
            function(a, b) {
                return null == a && (a = b > 2 ? 1 : 0),
                b && 3 > b && (a = Math.round(100 * a) + "%"),
                a
            });
            return 1 === c[3] && (c.pop(), b = "hsl("),
            b + c.join() + ")"
        },
        toHexString: function(b) {
            var c = this._rgba.slice(),
            d = c.pop();
            return b && c.push(~~ (255 * d)),
            "#" + a.map(c,
            function(a) {
                return a = (a || 0).toString(16),
                1 === a.length ? "0" + a: a
            }).join("")
        },
        toString: function() {
            return 0 === this._rgba[3] ? "transparent": this.toRgbaString()
        }
    }),
    i.fn.parse.prototype = i.fn,
    j.hsla.to = function(a) {
        if (null == a[0] || null == a[1] || null == a[2]) return [null, null, null, a[3]];
        var k, l, b = a[0] / 255,
        c = a[1] / 255,
        d = a[2] / 255,
        e = a[3],
        f = Math.max(b, c, d),
        g = Math.min(b, c, d),
        h = f - g,
        i = f + g,
        j = .5 * i;
        return k = g === f ? 0 : b === f ? 60 * (c - d) / h + 360 : c === f ? 60 * (d - b) / h + 120 : 60 * (b - c) / h + 240,
        l = 0 === h ? 0 : .5 >= j ? h / i: h / (2 - i),
        [Math.round(k) % 360, l, j, null == e ? 1 : e]
    },
    j.hsla.from = function(a) {
        if (null == a[0] || null == a[1] || null == a[2]) return [null, null, null, a[3]];
        var b = a[0] / 360,
        c = a[1],
        d = a[2],
        f = a[3],
        g = .5 >= d ? d * (1 + c) : d + c - d * c,
        h = 2 * d - g;
        return [Math.round(255 * e(h, g, b + 1 / 3)), Math.round(255 * e(h, g, b)), Math.round(255 * e(h, g, b - 1 / 3)), f]
    },
    o(j,
    function(d, e) {
        var f = e.props,
        h = e.cache,
        j = e.to,
        k = e.from;
        i.fn[d] = function(d) {
            if (j && !this[h] && (this[h] = j(this._rgba)), d === b) return this[h].slice();
            var e, g = a.type(d),
            l = "array" === g || "object" === g ? d: arguments,
            m = this[h].slice();
            return o(f,
            function(a, b) {
                var d = l["object" === g ? a: b.idx];
                null == d && (d = m[b.idx]),
                m[b.idx] = c(d, b)
            }),
            k ? (e = i(k(m)), e[h] = m, e) : i(m)
        },
        o(f,
        function(b, c) {
            i.fn[b] || (i.fn[b] = function(e) {
                var k, f = a.type(e),
                h = "alpha" === b ? this._hsla ? "hsla": "rgba": d,
                i = this[h](),
                j = i[c.idx];
                return "undefined" === f ? j: ("function" === f && (e = e.call(this, j), f = a.type(e)), null == e && c.empty ? this: ("string" === f && (k = g.exec(e), k && (e = j + parseFloat(k[2]) * ("+" === k[1] ? 1 : -1))), i[c.idx] = e, this[h](i)))
            })
        })
    }),
    i.hook = function(b) {
        var c = b.split(" ");
        o(c,
        function(b, c) {
            a.cssHooks[c] = {
                set: function(b, e) {
                    var f, g, h = "";
                    if ("transparent" !== e && ("string" !== a.type(e) || (f = d(e)))) {
                        if (e = i(f || e), !l.rgba && 1 !== e._rgba[3]) {
                            for (g = "backgroundColor" === c ? b.parentNode: b; ("" === h || "transparent" === h) && g && g.style;) try {
                                h = a.css(g, "backgroundColor"),
                                g = g.parentNode
                            } catch(j) {}
                            e = e.blend(h && "transparent" !== h ? h: "_default")
                        }
                        e = e.toRgbaString()
                    }
                    try {
                        b.style[c] = e
                    } catch(j) {}
                }
            },
            a.fx.step[c] = function(b) {
                b.colorInit || (b.start = i(b.elem, c), b.end = i(b.end), b.colorInit = !0),
                a.cssHooks[c].set(b.elem, b.start.transition(b.end, b.pos))
            }
        })
    },
    i.hook(f),
    a.cssHooks.borderColor = {
        expand: function(a) {
            var b = {};
            return o(["Top", "Right", "Bottom", "Left"],
            function(c, d) {
                b["border" + d + "Color"] = a
            }),
            b
        }
    },
    n = a.Color.names = {
        aqua: "#00ffff",
        black: "#000000",
        blue: "#0000ff",
        fuchsia: "#ff00ff",
        gray: "#808080",
        green: "#008000",
        lime: "#00ff00",
        maroon: "#800000",
        navy: "#000080",
        olive: "#808000",
        purple: "#800080",
        red: "#ff0000",
        silver: "#c0c0c0",
        teal: "#008080",
        white: "#ffffff",
        yellow: "#ffff00",
        transparent: [null, null, null, 0],
        _default: "#ffffff"
    }
} (jQuery),
$(function() {
    function e() {
        $(".projectForm").each(function() {
            $(this).validate({
                groups: {
                    projectStart: "projectYearStart projectMonthStart",
                    projectEnd: "projectYearEnd projectMonthEnd"
                },
                rules: {
                    projectName: {
                        required: !0,
                        maxlenStr: 100
                    },
                    thePost: {
                        required: !0,
                        maxlenStr: 100
                    },
                    projectYearStart: {
                        required: !0,
                        checkProjectYear: !0
                    },
                    projectMonthStart: {
                        required: !0,
                        checkProjectYear: !0
                    },
                    projectYearEnd: {
                        required: !0,
                        checkProjectYear: !0
                    },
                    projectMonthEnd: {
                        required: function() {
                            return "至今" == $(".projectYearEnd").val() ? !1 : !0
                        },
                        checkProjectYear: !0
                    },
                    projectDescription: {
                        required: !1
                    }
                },
                messages: {
                    projectName: {
                        required: "请输入项目名称",
                        maxlenStr: "请输入有效的项目名称"
                    },
                    thePost: {
                        required: "请输入担任职务",
                        maxlenStr: "请输入有效的担任职务"
                    },
                    projectYearStart: {
                        required: "请选择开始时间",
                        checkProjectYear: "开始时间需早于结束时间"
                    },
                    projectMonthStart: {
                        required: "请选择开始时间",
                        checkProjectYear: "开始时间需早于结束时间"
                    },
                    projectYearEnd: {
                        required: "请选择结束时间",
                        checkProjectYear: "结束时间需晚于开始时间"
                    },
                    projectMonthEnd: {
                        required: "请选择结束时间",
                        checkProjectYear: "结束时间需晚于开始时间"
                    }
                },
                errorPlacement: function(a, b) {
                    "projectYearStart" == b.attr("name") || "projectMonthStart" == b.attr("name") || "projectYearEnd" == b.attr("name") || "projectMonthEnd" == b.attr("name") ? a.appendTo($(b).parent().parent()) : a.insertAfter(b)
                },
                submitHandler: function(a) {
                    var b = $('input[name="projectName"]', a).val(),
                    c = $('input[name="thePost"]', a).val(),
                    e = $('input[name="projectYearStart"]', a).val(),
                    f = $('input[name="projectMonthStart"]', a).val(),
                    g = $('input[name="projectYearEnd"]', a).val(),
                    h = $('input[name="projectMonthEnd"]', a).val(),
                    i = "项目描述" != $('textarea[name="projectDescription"]', a).val() ? $('textarea[name="projectDescription"]', a).val() : "",
                    j = $(".projectId", a).val(),
                    l = $("#resumeId").val(),
                    m = $("#resubmitToken").val();
                    $(a).find(":submit").attr("disabled", !0),
                    $.ajax({
                        url: ctx + "/projectExperience/save.json",
                        type: "POST",
                        data: {
                            projectName: b,
                            positionName: c,
                            startYear: e,
                            startMonth: f,
                            endYear: g,
                            endMonth: h,
                            projectRemark: i,
                            projectid: j,
                            id: l,
                            resubmitToken: m
                        }
                    }).done(function(b) {
                        var c, e;
                        $("#resubmitToken").val(b.resubmitToken),
                        b.success ? (c = b.content.projectExperience, e = "", 3 == b.code ? "" != c ? (e += '<li data-id="' + c.id + '">', e += '<div class="projectList"><i class="sm_del dn"></i><i class="sm_edit dn"></i><div class="f16 mb10" data-proName="' + c.projectName + '" data-posName="' + c.positionName + '" data-startY="' + c.startYear + '" data-startM="' + c.startMonth + '" data-endY="' + c.endYear + '"' + 'data-endM="' + c.endMonth + '">' + c.projectNameAndRemark + '<span class="c9">（' + c.startDate + "-" + c.endDate + "）</span></div>", "" != c.projectRemark && (e += '<div class="dl1">' + c.projectRemark + "</div>"), e += "</div></li>", "" != $.trim(d.obj.children(".projectShow").children(".plist").html()) && $(a).remove(), d.obj.children(".c_add").removeClass("dn"), d.obj.children(".projectShow").children(".plist").prepend(e), d.obj.children(".projectShow").removeClass("dn"), d.obj.children(".projectEdit").addClass("dn")) : "" != $.trim(d.obj.children(".projectShow").children(".plist").html()) ? ($(a).remove(), d.obj.children(".c_add").removeClass("dn")) : (d.obj.children(".projectEdit").addClass("dn"), d.obj.children(".projectAdd").removeClass("dn")) : 4 == b.code ? (e += '<div class="projectList"><i class="sm_del dn"></i><i class="sm_edit dn"></i><div class="f16 mb10" data-proName="' + c.projectName + '" data-posName="' + c.positionName + '" data-startY="' + c.startYear + '" data-startM="' + c.startMonth + '" data-endY="' + c.endYear + '"' + 'data-endM="' + c.endMonth + '">' + c.projectNameAndRemark + '<span class="c9">（' + c.startDate + "-" + c.endDate + "）</span></div>", "" != c.projectRemark && (e += '<div class="dl1">' + c.projectRemark + "</div>"), e += "</div>", $(a).parent("li").html(e)) : 2 == b.code && ($(a).parent("li").remove(), 0 == d.obj.children(".projectShow").children(".plist").children("li").length && d.AddCancel), d.obj.find(".plist li:last-child").addClass("noborder"), $("#lastChangedTime span").text(b.content.refreshTime), $("#resumeScore .which div").text(b.content.infoCompleteStatus.msg), $("#resumeScore .which span").attr("rel", b.content.infoCompleteStatus.nextStage), scoreChange(b.content.infoCompleteStatus.score), k(d.obj), b.content.isNew && changeAllIds(b.content.jsonIds)) : console.log(b.msg),
                        $(a).find(":submit").attr("disabled", !1)
                    })
                }
            })
        })
    }
    function i() {
        $(".workForm").each(function() {
            $(this).validate({
                rules: {
                    workLink: {
                        required: !1,
                        checkUrlNot: !0,
                        maxlength: 150
                    },
                    workDescription: {
                        required: !1,
                        maxlength: 100
                    }
                },
                messages: {
                    workLink: {
                        checkUrlNot: "请输入有效的作品链接",
                        maxlength: "请输入有效的作品链接"
                    },
                    workDescription: {
                        maxlength: "请输入100字以内的有效作品说明"
                    }
                },
                submitHandler: function(a) {
                    var b = "请输入作品链接" != $('input[name="workLink"]', a).val() ? $('input[name="workLink"]', a).val() : "",
                    c = "请输入说明文字" != $('textarea[name="workDescription"]', a).val() ? $('textarea[name="workDescription"]', a).val() : "",
                    d = $(".showId", a).val(),
                    e = $("#resumeId").val(),
                    f = $("#resubmitToken").val();
                    $(a).find(":submit").attr("disabled", !0),
                    $.ajax({
                        url: ctx + "/workShow/save.json",
                        type: "POST",
                        data: {
                            url: b,
                            workName: c,
                            wsid: d,
                            id: e,
                            resubmitToken: f
                        }
                    }).done(function(b) {
                        var c, d, e;
                        $("#resubmitToken").val(b.resubmitToken),
                        b.success ? (c = "", d = "", e = b.content.workShow, 3 == b.code ? "" != e ? (c += '<li data-id="' + e.id + '"><div class="workList c7">' + '<i class="sm_del dn"></i>' + '<i class="sm_edit dn"></i>', e.url && (d = "http://" == e.url.substring(0, 7) || "https://" == e.url.substring(0, 8) ? e.url: "http://" + e.url, c += '<div class="f16">网址：<a href="' + d + '" target="_blank">' + e.url + "</a></div>"), c += "<p>" + e.workName + "</p>" + "</div></li>", placeholderFn(), "" != $.trim(h.obj.children(".workShow").children(".slist").html()) && $(a).remove(), h.obj.children(".workShow").children(".slist").prepend(c), h.obj.children(".workShow").removeClass("dn"), h.obj.children(".workEdit").addClass("dn"), h.obj.children(".c_add").removeClass("dn")) : "" != $.trim(h.obj.children(".workShow").children(".slist").html()) ? ($(a).remove(), h.obj.children(".c_add").removeClass("dn")) : (h.obj.children(".workEdit").addClass("dn"), h.obj.children(".workAdd").removeClass("dn")) : 4 == b.code ? (c += '<div class="workList c7"><i class="sm_del dn"></i><i class="sm_edit dn"></i>', e.url && (d = "http://" == e.url.substring(0, 7) || "https://" == e.url.substring(0, 8) ? e.url: "http://" + e.url, c += '<div class="f16">网址：<a href="' + d + '" target="_blank">' + e.url + "</a></div>"), c += "<p>" + e.workName + "</p>" + "</div>", placeholderFn(), $(a).parent("li").html(c)) : 2 == b.code && ($(a).parent("li").remove(), "" == $.trim(h.obj.children(".workShow").children(".slist").html()) && h.AddCancel), h.obj.find(".slist li:last-child").addClass("noborder"), $("#lastChangedTime span").text(b.content.refreshTime), $("#resumeScore .which div").text(b.content.infoCompleteStatus.msg), $("#resumeScore .which span").attr("rel", b.content.infoCompleteStatus.nextStage), scoreChange(b.content.infoCompleteStatus.score), k(h.obj), b.content.isNew && changeAllIds(b.content.jsonIds)) : console.log(b.msg),
                        $(a).find(":submit").attr("disabled", !1)
                    })
                }
            })
        })
    }
    function j() {
        a = !1
    }
    function k() {
        a = !0
    }
    var b, c, d, f, g, h, a = !0;
    window.onbeforeunload = function() {
        return a ? void 0 : "内容还未保存，确认离开该页面吗？ "
    },
    $(".profile_radio li input").click(function() {
        $(this).parent("li").siblings("li").removeClass("current"),
        $(this).parent("li").addClass("current")
    }),
    $(document).click(function() {
        $(".boxUpDown").hide().prev("input").removeClass("select_focus")
    }),
    $("#resumeScore .which span").bind("click",
    function() {
        var a = $(this).attr("rel");
        "complete" != a && click_scroll(a)
    }),
     
     
    $("#resume_name .nameShow .rename").bind("click",
    function() {
        $(this).parent().addClass("dn"),
        $(this).parent().siblings("form").removeClass("dn"),
        j($("#resume_name"))
    }),
    $("#resumeNameForm").validate({
        rules: {
            resumeName: {
                required: !0,
                checkNum: !0,
                maxlenStr: 100
            }
        },
        messages: {
            resumeName: {
                required: "请输入简历名称",
                checkNum: "请输入有效的简历名称",
                maxlenStr: "请输入100字以内的简历名称"
            }
        },
        errorPlacement: function(a, b) {
            a.appendTo($(b).parent())
        },
        submitHandler: function(a) {
            var b = $('input[name="resumeName"]', a).val(),
            c = $("#resumeId").val();
            $(a).find(":submit").attr("disabled", !0),
            $.ajax({
                url: ctx + "/resume/renameResume.json",
                type: "POST",
                data: {
                    resumeName: b,
                    id: c
                }
            }).done(function(b) {
                if (b.success) {
                    var c = "";
                    c = b.content.resumeName.length > 18 ? b.content.resumeName.substring(0, 15) + "...": b.content.resumeName,
                    $("#resume_name .nameShow h1").attr("title", b.content.resumeName).text(c).parent().removeClass("dn"),
                    $("#resume_name form").addClass("dn"),
                    $("#lastChangedTime span").text(b.content.refreshTime),
                    k($("#resume_name"))
                } else console.log(b.msg);
                $(a).find(":submit").attr("disabled", !1)
            })
        }
    }),
    $("#basicInfo .c_edit").bind("click",
    function() {
        var a = $("#nameVal").val(),
        b = $("#genderVal").val(),
        c = $("#topDegreeVal").val(),
        d = $("#workyearVal").val(),
        e = $("#currentStateVal").val(),
        f = $("#emailVal").val(),
        g = $("#telVal").val();
        $("#name").val(a),
        $('#basicInfo .profile_radio li input[value="' + b + '"]').attr("checked", !0).parent("li").addClass("current").siblings("li").removeClass("current"),
        $("#topDegree").val(c),
        $("#select_topDegree").val(c).css("color", "#333"),
        $("#workyear").val(d),
        $("#select_workyear").val(d).css("color", "#333"),
        "" != e && ($("#currentState").val(e), $("#select_currentState").val(e).css("color", "#333")),
        $("#email").val(f),
        $("#tel").val(g),
        $("#portraitShow img").attr("src", $("#basicInfo .basicShow img").attr("src")),
        $("#portraitNo").hide(),
        $("#portraitShow").show(),
        $(this).addClass("dn"),
        $("#basicInfo .basicShow").addClass("dn"),
        $("#basicInfo .basicEdit").removeClass("dn"),
        j($("#basicInfo"))
    }),
    $("#select_topDegree").bind("click", function(a) 
    {
        a.stopPropagation(),
        $(this).addClass("select_focus"),
        $("#select_workyear").removeClass("select_focus"),
        $("#select_currentState").removeClass("select_focus"),
        $("#box_topDegree").show(),
        $("#box_workyear").hide(),
        $("#box_currentState").hide()
    }),
    
    $("#select_workyear").bind("click", function(a) 
    {
        a.stopPropagation(),
        $(this).addClass("select_focus"),
        $("#select_topDegree").removeClass("select_focus"),
        $("#select_currentState").removeClass("select_focus"),
        $("#box_workyear").show(),
        $("#box_topDegree").hide(),
        $("#box_currentState").hide()
    }), 
    $("#select_currentState").bind("click", function(a) 
    {
        a.stopPropagation(),
        $(this).addClass("select_focus"),
        $("#select_topDegree").removeClass("select_focus"),
        $("#select_workyear").removeClass("select_focus"),
        $("#box_workyear").hide(),
        $("#box_topDegree").hide(),
        $("#box_currentState").show()
    }), 
    $("#profileForm").validate({
        rules: {
            name: {
                required: !0,
                specialchar: !0,
                checkNum: !0,
                rangelength: [2, 60]
            },
            gender: {
                required: !1
            },
            topDegree: {
                required: !0
            },
            workyear: {
                required: !0
            },
            currentState: {
                required: !1
            },
            email: {
                required: !0,
                email: !0,
                maxlength: 80
            },
            tel: {
                required: !0,
                isMobile: !0,
                maxlength: 30
            }
        },
        messages: {
            name: {
                required: "请输入你的真实姓名",
                specialchar: "请输入你的真实姓名",
                checkNum: "请输入你的真实姓名",
                rangelength: "请输入你的真实姓名"
            },
            topDegree: {
                required: "请选择最高学历"
            },
            workyear: {
                required: "请选择工作年限"
            },
            email: {
                required: "请输入接收面试通知的常用邮箱",
                email: "请输入有效的常用邮箱，如：vivi@lagou.com",
                maxlength: "请输入有效的常用邮箱，如：vivi@lagou.com"
            },
            tel: {
                required: "请输入手机号码",
                isMobile: "请输入有效的手机号码",
                maxlength: "请输入有效的手机号码"
            }
        },
        errorPlacement: function(a, b) {
            "hidden" == b.attr("type") ? a.appendTo($(b).parent()) : "radio" == b.attr("type") ? a.insertAfter($(b).parents("ul")) : a.insertAfter(b)
        },
        submitHandler: function(a) {
            var b = $('input[name="name"]', a).val(),
            c = $('input[name="gender"]:checked', a).val(),
            d = $('input[name="topDegree"]', a).val(),
            e = $('input[name="workyear"]', a).val(),
            f = $('input[name="currentState"]', a).val(),
            g = $('input[name="email"]', a).val(),
            h = $('input[name="tel"]', a).val(),
            i = $("#pageType").val(),
            j = $("#resumeId").val(),
            l = $("#resubmitToken").val();
            $(a).find(":submit").attr("disabled", !0),
            $.ajax({
                url: ctx + "/resume/basic.json",
                type: "POST",
                data: {
                    name: b,
                    sex: c,
                    highestEducation: d,
                    workYear: e,
                    status: f,
                    email: g,
                    phone: h,
                    type: i,
                    id: j,
                    resubmitToken: l
                }
            }).done(function(b) {
                var c, d, e;
                $("#resubmitToken").val(b.resubmitToken),
                b.success ? "/resume/myresume.html" == b.content.url ? window.location.href = ctx + b.content.url: (c = b.content.resume, d = c.workYear, "应届毕业生" != d ? (d += "工作经验", $("#workExperience h2 span").text("（投递简历时必填）")) : $("#workExperience h2 span").text(""), e = c.name, "" != c.sex && (e += " | " + c.sex), "" != c.highestEducation && (e += " | " + c.highestEducation), e += " | " + d + "<br />" + c.phone + " | " + c.email + "<br />" + c.status, $(".collapsible_menu dt").html(c.name + "<i></i>"), $("#basicInfo .basicShow span").html(e).parent().removeClass("dn"), $("#basicInfo .basicEdit").addClass("dn"), $("#basicInfo .c_edit").removeClass("dn"), $("#nameVal").val(c.name), $("#genderVal").val(c.sex), $("#topDegreeVal").val(c.highestEducation), $("#workyearVal").val(c.workYear), $("#currentStateVal").val(c.status), $("#emailVal").val(c.email), $("#telVal").val(c.phone), $("#lastChangedTime span").text(b.content.refreshTime), b.content.isNew && changeAllIds(b.content.jsonIds), scoreChange(b.content.infoCompleteStatus.score), k($("#basicInfo"))) : console.log(b.msg),
                $(a).find(":submit").attr("disabled", !1)
            })
        }
    }),
    $("#profileForm .btn_profile_cancel").bind("click",
    function() {
        $(this).parents(".basicEdit").addClass("dn").siblings(".basicShow").removeClass("dn"),
        $("#basicInfo .c_edit").removeClass("dn"),
        k($("#basicInfo"))
    }),
    $("#select_expectCity").bind("click",
    function(a) {
        a.stopPropagation(),
        $(this).addClass("select_focus"),
        $("#select_expectSalary").removeClass("select_focus"),
        $("#box_expectCity").show(),
        $("#box_expectSalary").hide()
    }), 
    $("#select_expectSalary").bind("click",
    function(a) {
        a.stopPropagation(),
        $(this).addClass("select_focus"),
        $("#select_expectCity").removeClass("select_focus"),
        $("#box_expectSalary").show(),
        $("#box_expectCity").hide()
    }),
    b = {
        obj: $("#expectJob"),
        expectJobVal: $("#expectJobVal").val(),
        expectCityVal: $("#expectCityVal").val(),
        typeVal: $("#typeVal").val(),
        expectPositionVal: $("#expectPositionVal").val(),
        expectSalaryVal: $("#expectSalaryVal").val(),
        Add: function() {
            this.obj.find(".expectAdd").addClass("dn"),
            this.obj.find(".expectShow").addClass("dn"),
            this.obj.find(".c_edit").addClass("dn"),
            this.obj.find(".expectEdit").removeClass("dn"),
            j(this.obj)
        },
        Edit: function() {
            "" == this.expectCityVal ? ($("#expectCity").val(""), $("#select_expectCity").val("期望城市，如：北京").css("color", "#999")) : ($("#expectCity").val(this.expectCityVal), $("#select_expectCity").val(this.expectCityVal).css("color", "#333")),
            "" != this.typeVal ? $('#expectJob .profile_radio li input[value="' + this.typeVal + '"]').attr("checked", !0).parent("li").addClass("current").siblings("li").removeClass("current") : $("#expectJob .profile_radio li input").attr("checked", !1).parent("li").removeClass("current"),
            $("#expectPosition").val(this.expectPositionVal),
            "" == this.expectSalaryVal ? ($("#expectSalary").val(""), $("#select_expectSalary").val("期望月薪").css("color", "#999")) : ($("#expectSalary").val(this.expectSalaryVal), $("#select_expectSalary").val(this.expectSalaryVal).css("color", "#333")),
            placeholderFn(),
            this.obj.find(".expectAdd").addClass("dn"),
            this.obj.find(".expectShow").addClass("dn"),
            this.obj.find(".c_edit").addClass("dn"),
            this.obj.find(".expectEdit").removeClass("dn"),
            j(this.obj)
        },
        Cancel: function() {
            this.expectCityVal || this.typeVal || this.expectPositionVal || this.expectSalaryVal ? this.obj.find(".expectEdit").addClass("dn").siblings(".expectShow").removeClass("dn").siblings(".c_edit").removeClass("dn").siblings(".expectAdd").addClass("dn") : this.obj.find(".expectEdit").addClass("dn").siblings(".expectShow").addClass("dn").siblings(".c_edit").addClass("dn").siblings(".expectAdd").removeClass("dn"),
            k(this.obj)
        }
    },
    b.obj.find(".expectAdd").bind("click",
    function() {
        b.Add()
    }),
    b.obj.find(".c_edit").bind("click",
    function() {
        b.Edit()
    }),
    $("#expectForm .btn_profile_cancel").bind("click",
    function() {
        b.Cancel()
    }),
    $("#expectPosition").bind("keyup",
    function() {
        var a = $.trim($(this).val());
        "" != a && suggestPosition(a, "#expectPosition")
    }),
    $("#expectForm").validate({
        rules: {
            expectCity: {
                required: !1
            },
            type: {
                required: !1
            },
            expectPosition: {
                required: !1,
                specialchar: !0,
                checkNum: !0,
                minlength: 2,
                maxlength: 100
            },
            expectSalary: {
                required: !1
            }
        },
        messages: {
            expectPosition: {
                specialchar: "请输入有效的期望职位，如：产品经理",
                checkNum: "请输入有效的期望职位，如：产品经理",
                minlength: "请输入有效的期望职位，如：产品经理",
                maxlength: "请输入有效的期望职位，如：产品经理"
            }
        },
        errorPlacement: function(a, b) {
            "hidden" == b.attr("type") ? a.appendTo($(b).parent()) : "radio" == b.attr("type") ? a.insertAfter($(b).parents("ul")) : a.insertAfter(b)
        },
        submitHandler: function(a) {
            var c = $('input[name="expectCity"]', a).val(),
            d = $('input[name="type"]:checked', a).val(),
            e = "期望职位，如：产品经理" != $('input[name="expectPosition"]', a).val() ? $('input[name="expectPosition"]', a).val() : "",
            f = $('input[name="expectSalary"]', a).val(),
            g = $("#resumeId").val(),
            h = $("#resubmitToken").val();
            $(a).find(":submit").attr("disabled", !0),
            $.ajax({
                url: ctx + "/resume/expect.json",
                type: "POST",
                data: {
                    city: c,
                    positionType: d,
                    positionName: e,
                    salarys: f,
                    id: g,
                    resubmitToken: h
                }
            }).done(function(g) {
                if ($("#resubmitToken").val(g.resubmitToken), g.success) {
                    if (c || d || e || f) {
                        var h = g.content.expectJob;
                        b.obj.find(".expectShow").children("span").html(h).parent().removeClass("dn"),
                        b.obj.find(".c_edit").removeClass("dn"),
                        b.obj.find(".expectEdit").addClass("dn"),
                        b.obj.find("#expectJobVal").val(g.content.resume.expectJob),
                        b.obj.find("#expectCityVal").val(g.content.resume.city),
                        b.obj.find("#typeVal").val(g.content.resume.positionType),
                        b.obj.find("#expectPositionVal").val(g.content.resume.positionName),
                        b.obj.find("#expectSalaryVal").val(g.content.resume.salarys),
                        b.expectJobVal = g.content.resume.expectJob,
                        b.expectCityVal = g.content.resume.city,
                        b.typeVal = g.content.resume.positionType,
                        b.expectPositionVal = g.content.resume.positionName,
                        b.expectSalaryVal = g.content.resume.salarys,
                        $("#lastChangedTime span").text(g.content.refreshTime),
                        $("#resumeScore .which div").text(g.content.infoCompleteStatus.msg),
                        $("#resumeScore .which span").attr("rel", g.content.infoCompleteStatus.nextStage),
                        scoreChange(g.content.infoCompleteStatus.score),
                        k(b.obj)
                    } else b.obj.find(".expectShow").addClass("dn"),
                    b.obj.find(".expectEdit").addClass("dn"),
                    b.obj.find(".c_edit").addClass("dn"),
                    b.obj.find(".expectAdd").removeClass("dn"),
                    k(b.obj);
                    g.content.isNew && changeAllIds(g.content.jsonIds)
                } else console.log(g.msg);
                $(a).find(":submit").attr("disabled", !1)
            })
        }
    }),
    $(".select_companyYearStart").bind("click",
    function(a) {
        a.stopPropagation(),
        openYear("companyYearStart")
    }),  
    c = {
        obj: $("#workExperience"),
        companyNameVal: "",
        positionNameVal: "",
        companyYearStartVal: "",
        companyMonthStartVal: "",
        companyYearEndVal: "",
        companyMonthEndVal: "",
        Add: function() {
            this.obj.children(".experienceEdit").find(".companyName").val(""),
            this.obj.children(".experienceEdit").find(".positionName").val(""),
            this.obj.children(".experienceEdit").find(".companyYearStart").val(""),
            this.obj.children(".experienceEdit").find(".select_companyYearStart").css("color", "#999").val("开始年份"),
            this.obj.children(".experienceEdit").find(".companyMonthStart").val(""),
            this.obj.children(".experienceEdit").find(".select_companyMonthStart").css("color", "#999").val("开始月份"),
            this.obj.children(".experienceEdit").find(".companyYearEnd").val(""),
            this.obj.children(".experienceEdit").find(".select_companyYearEnd").css("color", "#999").val("结束年份"),
            this.obj.children(".experienceEdit").find(".companyMonthEnd").val(""),
            this.obj.children(".experienceEdit").find(".select_companyMonthEnd").css("color", "#999").val("结束月份"),
            placeholderFn(),
            this.obj.children(".experienceAdd").addClass("dn"),
            this.obj.children(".experienceShow").addClass("dn"),
            this.obj.children(".experienceEdit").removeClass("dn"),
            j(this.obj)
        },
        AddMore: function() {
            this.obj.children(".experienceShow").find(".companyName").val(""),
            this.obj.children(".experienceShow").find(".positionName").val(""),
            this.obj.children(".experienceShow").find(".companyYearStart").val(""),
            this.obj.children(".experienceShow").find(".select_companyYearStart").css("color", "#999").val("开始年份"),
            this.obj.children(".experienceShow").find(".companyMonthStart").val(""),
            this.obj.children(".experienceShow").find(".select_companyMonthStart").css("color", "#999").val("开始月份"),
            this.obj.children(".experienceShow").find(".companyYearEnd").val(""),
            this.obj.children(".experienceShow").find(".select_companyYearEnd").css("color", "#999").val("结束年份"),
            this.obj.children(".experienceShow").find(".companyMonthEnd").val(""),
            this.obj.children(".experienceShow").find(".select_companyMonthEnd").css("color", "#999").val("结束月份"),
            this.obj.children(".experienceShow").find(".expId").val(""),
            placeholderFn(),
            this.obj.children(".experienceShow").children(".experienceForm").show(),
            j(this.obj)
        },
        Edit: function(a) {
            var h, i, b = a.parent("li").attr("data-id"),
            c = a.siblings("span").attr("data-startYear"),
            d = a.siblings("span").attr("data-endYear"),
            e = a.siblings("span").attr("data-startMonth"),
            f = a.siblings("span").attr("data-endMonth");
            a.parent("li").find("img").attr("src"),
            h = a.parent("li").find("h3").text(),
            i = a.parent("li").find("h4").text(),
            this.obj.children(".experienceShow").find(".companyName").val(i),
            this.obj.children(".experienceShow").find(".positionName").val(h),
            this.obj.children(".experienceShow").find(".companyYearStart").val(c),
            this.obj.children(".experienceShow").find(".select_companyYearStart").css("color", "#333").val(c),
            this.obj.children(".experienceShow").find(".companyMonthStart").val(e),
            this.obj.children(".experienceShow").find(".select_companyMonthStart").css("color", "#333").val(e),
            this.obj.children(".experienceShow").find(".companyYearEnd").val(d),
            this.obj.children(".experienceShow").find(".select_companyYearEnd").css("color", "#333").val(d),
            this.obj.children(".experienceShow").find(".companyMonthEnd").val(f),
            this.obj.children(".experienceShow").find(".select_companyMonthEnd").css("color", "#333").val(f),
            this.obj.children(".experienceShow").find(".expId").val(b),
            this.obj.children(".experienceShow").children(".experienceForm").show(),
            "至今" == f && this.obj.children(".experienceShow").find(".select_companyMonthEnd").unbind("click"),
            this.companyNameVal = i,
            this.positionNameVal = h,
            this.companyYearStartVal = c,
            this.companyMonthStartVal = e,
            this.companyYearEndVal = d,
            this.companyMonthEndVal = f,
            this.obj.children(".c_add").addClass("dn"),
            j(this.obj)
        },
        Del: function(a) {
            var b = a.parent("li").attr("data-id");
            $.ajax({
                url: ctx + "/workExperience/delExp.json",
                type: "POST",
                data: {
                    id: b
                }
            }).done(function(b) {
                b.success ? (a.parent("li").remove(), "" == b.content.workExperiences || null == b.content.workExperiences ? (c.obj.children(".experienceShow").addClass("dn"), c.obj.children(".experienceEdit").addClass("dn"), c.obj.children(".experienceAdd").removeClass("dn"), c.obj.children(".c_add").addClass("dn")) : c.obj.children(".experienceShow").children(".experienceForm").hide(), $("#lastChangedTime span").text(b.content.refreshTime), $("#resumeScore .which div").text(b.content.infoCompleteStatus.msg), $("#resumeScore .which span").attr("rel", b.content.infoCompleteStatus.nextStage), scoreChange(b.content.infoCompleteStatus.score), k(c.obj), b.content.isNew && changeAllIds(b.content.jsonIds)) : console.log(b.msg)
            })
        },
        AddCancel: function() {
            this.obj.find(".experienceAdd").removeClass("dn"),
            this.obj.find(".experienceShow").addClass("dn"),
            this.obj.find(".experienceEdit").addClass("dn"),
            k(this.obj)
        },
        AddMoreCancel: function() {
            this.obj.children(".experienceShow").children(".experienceForm").hide(),
            k(this.obj)
        }
    },
    c.obj.find(".experienceAdd").bind("click",
    function() {
        c.Add()
    }),
    c.obj.find(".c_add").bind("click",
    function() {
        c.AddMore(),
        $(this).addClass("dn")
    }),  
    c.obj.children(".experienceEdit").find(".btn_profile_cancel").bind("click",function() 
    {
        c.AddCancel()
    }),
    c.obj.children(".experienceShow").find(".btn_profile_cancel").bind("click", function() 
    {
        c.AddMoreCancel(),
        c.obj.find(".c_add").removeClass("dn")
    }),
    c.obj.delegate(".companyName", "keyup",
    function() {
        var a = $.trim($(this).val());
        "" != a && suggestCompany(a, ".companyName")
    }),
    c.obj.delegate(".positionName", "keyup",
    function() {
        var a = $.trim($(this).val());
        "" != a && suggestPosition(a, ".positionName")
    }),
    $(".experienceForm").each(function() {
        $(this).validate({
            groups: {
                companyStart: "companyYearStart companyMonthStart",
                companyEnd: "companyYearEnd companyMonthEnd"
            },
            rules: {
                companyName: {
                    required: !0,
                    maxlenStr: 100
                },
                positionName: {
                    required: !0,
                    checkNum: !0,
                    maxlenStr: 100
                },
                companyYearStart: {
                    required: !0,
                    checkWorkYear: !0
                },
                companyMonthStart: {
                    required: !0,
                    checkWorkYear: !0
                },
                companyYearEnd: {
                    required: !0,
                    checkWorkYear: !0
                },
                companyMonthEnd: {
                    required: function() {
                        return "至今" == $(".companyYearEnd").val() ? !1 : !0
                    },
                    checkWorkYear: !0
                }
            },
            messages: {
                companyName: {
                    required: "请输入有效的公司名称，如：拉勾网",
                    maxlenStr: "请输入有效的公司名称，如：拉勾网"
                },
                positionName: {
                    required: "请输入有效的职位名称，如：产品经理",
                    checkNum: "请输入有效的职位名称，如：产品经理",
                    maxlenStr: "请输入有效的职位名称，如：产品经理"
                },
                companyYearStart: {
                    required: "请选择开始时间",
                    checkWorkYear: "开始时间需早于结束时间"
                },
                companyMonthStart: {
                    required: "请选择开始时间",
                    checkWorkYear: "开始时间需早于结束时间"
                },
                companyYearEnd: {
                    required: "请选择结束时间",
                    checkWorkYear: "结束时间需晚于开始时间"
                },
                companyMonthEnd: {
                    required: "请选择结束时间",
                    checkWorkYear: "结束时间需晚于开始时间"
                }
            },
            errorPlacement: function(a, b) {
                "companyYearStart" == b.attr("name") || "companyMonthStart" == b.attr("name") || "companyYearEnd" == b.attr("name") || "companyMonthEnd" == b.attr("name") ? a.appendTo($(b).parent().parent()) : a.insertAfter(b)
            },
            submitHandler: function(a) {
                var b = $('input[name="companyName"]', a).val(),
                d = $('input[name="positionName"]', a).val(),
                e = $('input[name="companyYearStart"]', a).val(),
                f = $('input[name="companyMonthStart"]', a).val(),
                g = $('input[name="companyYearEnd"]', a).val(),
                h = $('input[name="companyMonthEnd"]', a).val(),
                i = $(".expId", a).val(),
                j = $("#resumeId").val(),
                l = $("#resubmitToken").val();
                $(a).find(":submit").attr("disabled", !0),
                $.ajax({
                    url: ctx + "/workExperience/save.json",
                    type: "POST",
                    data: {
                        companyName: b,
                        positionName: d,
                        startYear: e,
                        startMonth: f,
                        endYear: g,
                        endMonth: h,
                        expid: i,
                        id: j,
                        resubmitToken: l
                    }
                }).done(function(b) {
                    var d, e, f;
                    if ($("#resubmitToken").val(b.resubmitToken), b.success) {
                        for (d = b.content.workExperiences, e = "", f = 0; f < d.length; f++) e += 0 == f % 2 ? '<li data-id="' + d[f].id + '" class="clear">': '<li data-id="' + d[f].id + '">',
                        e += '<i class="sm_del dn"></i><i class="sm_edit dn"></i><span class="c9" data-startYear="' + d[f].startYear + '" data-endYear="' + d[f].endYear + '" data-startMonth = "' + d[f].startMonth + '" data-endMonth = "' + d[f].endMonth + '">' + d[f].startDate + "-" + d[f].endDate + "</span>" + "<div>" + '<img src="' + ctx + "/" + d[f].companyLogo + '" width="56" height="56" alt="' + d[f].companyName + '" />' + "<h3>" + d[f].positionName + "</h3>" + "<h4>" + d[f].companyName + "</h4>" + "</div>" + "</li>";
                        c.obj.children(".c_add").removeClass("dn"),
                        c.obj.children(".experienceShow").children(".experienceForm").hide(),
                        c.obj.children(".experienceShow").children(".wlist").html(e).parent().removeClass("dn"),
                        c.obj.children(".experienceEdit").addClass("dn"),
                        $("#lastChangedTime span").text(b.content.refreshTime),
                        $("#resumeScore .which div").text(b.content.infoCompleteStatus.msg),
                        $("#resumeScore .which span").attr("rel", b.content.infoCompleteStatus.nextStage),
                        scoreChange(b.content.infoCompleteStatus.score),
                        k(c.obj),
                        b.content.isNew && changeAllIds(b.content.jsonIds)
                    } else console.log(b.msg);
                    $(a).find(":submit").attr("disabled", !1)
                })
            }
        })
    }),        
    d = {
        obj: $("#projectExperience"),
        resetForm: function() {
            this.obj.children(".projectEdit").find(".projectName").val(""),
            this.obj.children(".projectEdit").find(".thePost").val(""),
            this.obj.children(".projectEdit").find(".projectYearStart").val(""),
            this.obj.children(".projectEdit").find(".select_projectYearStart").css("color", "#999").val("开始年份"),
            this.obj.children(".projectEdit").find(".projectMonthStart").val(""),
            this.obj.children(".projectEdit").find(".select_projectMonthStart").css("color", "#999").val("开始月份"),
            this.obj.children(".projectEdit").find(".projectYearEnd").val(""),
            this.obj.children(".projectEdit").find(".select_projectYearEnd").css("color", "#999").val("结束年份"),
            this.obj.children(".projectEdit").find(".projectMonthEnd").val(""),
            this.obj.children(".projectEdit").find(".select_projectMonthEnd").css("color", "#999").val("结束月份"),
            this.obj.children(".projectEdit").find(".projectDescription").val(""),
            this.obj.children(".projectEdit").find(".word_count").children("span").text(500),
            this.obj.children(".projectEdit").find(".projectId").val("")
        },
        Add: function() {
            this.resetForm(),
            placeholderFn(),
            this.obj.children(".projectAdd").addClass("dn"),
            this.obj.children(".projectShow").addClass("dn"),
            this.obj.children(".projectEdit").removeClass("dn"),
            j(this.obj)
        },
        AddMore: function() {
            this.resetForm(),
            placeholderFn(),
            this.obj.children(".projectShow").prepend(this.obj.children(".projectEdit").children("form").clone()),
            this.obj.children(".projectShow").children("form").css("borderBottom", "1px solid #e5e5e5").show(),
            this.obj.children(".projectEdit").addClass("dn"),
            e(),
            j(this.obj)
        },
        Edit: function(a) {
            var m, b = a.parents("li"),
            c = b.attr("data-id"),
            d = b.find("div.f16").attr("data-proName"),
            f = b.find("div.f16").attr("data-posName"),
            g = b.find("div.f16").attr("data-startY"),
            h = b.find("div.f16").attr("data-startM"),
            i = b.find("div.f16").attr("data-endY"),
            k = b.find("div.f16").attr("data-endM"),
            l = b.find(".dl1").html();
            l && (l = $.trim(l.replace(/<br>/gi, ""))),
            this.resetForm(),
            m = this.obj.children(".projectEdit").children("form").clone(),
            m.find(".projectName").val(d),
            m.find(".thePost").val(f),
            "" != g && (m.find(".projectYearStart").val(g), m.find(".select_projectYearStart").css("color", "#333").val(g)),
            "" != h && (m.find(".projectMonthStart").val(h), m.find(".select_projectMonthStart").css("color", "#333").val(h)),
            "" != i && (m.find(".projectYearEnd").val(i), m.find(".select_projectYearEnd").css("color", "#333").val(i)),
            "" != k && (m.find(".projectMonthEnd").val(k), m.find(".select_projectMonthEnd").css("color", "#333").val(k)),
            "至今" == k && m.find(".select_projectMonthEnd").unbind("click"),
            m.find(".projectDescription").val(l),
            m.find(".word_count").children("span").text(500 - m.find(".projectDescription").val().length),
            m.find(".projectId").val(c),
            a.parents("li").prepend(m),
            placeholderFn(),
            a.parents("li").children(".projectList").addClass("dn"),
            e(),
            j(this.obj)
        }, 
        AddCancel: function() {
            this.obj.find(".projectAdd").removeClass("dn"),
            this.obj.find(".projectShow").addClass("dn"),
            this.obj.find(".projectEdit").addClass("dn"),
            k(this.obj)
        },
        AddMoreCancel: function(a) {
            a.parents(".projectForm").siblings(".projectList").removeClass("dn"),
            a.parents(".projectForm").remove(),
            k(this.obj)
        }
    },
    d.obj.find(".plist li:last-child").addClass("noborder"),
    d.obj.find(".projectAdd").bind("click",
    function() {
        d.Add()
    }),
    d.obj.find(".c_add").bind("click",
    function() {
        d.AddMore(),
        $(this).addClass("dn")
    }),   
    d.obj.children(".projectEdit").find(".btn_profile_cancel").bind("click",
    function() {
        d.AddCancel()
    }), 
    e(),
    $(".select_schoolYearStart").bind("click",
    function(a) {
        a.stopPropagation(),
        openYear("schoolYearStart")
    }),   
    $(".select_degree").bind("click",
    function(a) {
        a.stopPropagation(),
        $(this).addClass("select_focus"),
        $(".select_schoolYearStart").removeClass("select_focus"),
        $(".select_schoolYearEnd").removeClass("select_focus"),
        $(".box_schoolYearStart").hide(),
        $(".box_schoolYearEnd").hide(),
        $(".box_degree").show()
    }), 
    f = {
        obj: $("#educationalBackground"),
        schoolNameVal: "",
        degreeVal: "",
        professionalNameVal: "",
        schoolYearStartVal: "",
        schoolYearEndVal: "",
        Add: function() {
            this.obj.children(".educationalEdit").find(".schoolName").val(""),
            this.obj.children(".educationalEdit").find(".degree").val(""),
            this.obj.children(".educationalEdit").find(".select_degree").css("color", "#999").val("学历"),
            this.obj.children(".educationalEdit").find(".professionalName").val(""),
            this.obj.children(".educationalEdit").find(".schoolYearStart").val(""),
            this.obj.children(".educationalEdit").find(".select_schoolYearStart").css("color", "#999").val("开始年份"),
            this.obj.children(".educationalEdit").find(".schoolYearEnd").val(""),
            this.obj.children(".educationalEdit").find(".select_schoolYearEnd").css("color", "#999").val("结束年份"),
            placeholderFn(),
            this.obj.children(".educationalAdd").addClass("dn"),
            this.obj.children(".educationalShow").addClass("dn"),
            this.obj.children(".educationalEdit").removeClass("dn"),
            j(this.obj)
        },
        AddMore: function() {
            this.obj.children(".educationalShow").find(".schoolName").val(""),
            this.obj.children(".educationalShow").find(".degree").val(""),
            this.obj.children(".educationalShow").find(".select_degree").css("color", "#999").val("学历"),
            this.obj.children(".educationalShow").find(".professionalName").val(""),
            this.obj.children(".educationalShow").find(".schoolYearStart").val(""),
            this.obj.children(".educationalShow").find(".select_schoolYearStart").css("color", "#999").val("开始年份"),
            this.obj.children(".educationalShow").find(".schoolYearEnd").val(""),
            this.obj.children(".educationalShow").find(".select_schoolYearEnd").css("color", "#999").val("结束年份"),
            this.obj.children(".educationalShow").find(".eduId").val(""),
            placeholderFn(),
            this.obj.children(".educationalShow").children(".educationalForm").show(),
            j(this.obj)
        },
        Edit: function(a) {
            var b = a.parent("li").attr("data-id"),
            c = a.siblings("span").attr("data-startY"),
            d = a.siblings("span").attr("data-endY"),
            e = a.parent("li").find("h4").attr("data-degree"),
            f = a.parent("li").find("h4").attr("data-proName"),
            g = a.parent("li").find("h3").attr("data-schName");
            this.obj.children(".educationalShow").find(".schoolName").val(g),
            this.obj.children(".educationalShow").find(".degree").val(e),
            this.obj.children(".educationalShow").find(".select_degree").css("color", "#333").val(e),
            this.obj.children(".educationalShow").find(".professionalName").val(f),
            this.obj.children(".educationalShow").find(".schoolYearStart").val(c),
            this.obj.children(".educationalShow").find(".select_schoolYearStart").css("color", "#333").val(c),
            this.obj.children(".educationalShow").find(".schoolYearEnd").val(d),
            this.obj.children(".educationalShow").find(".select_schoolYearEnd").css("color", "#333").val(d),
            this.obj.children(".educationalShow").find(".eduId").val(b),
            $(".educationalForm").validate().element($(".schoolYearStart")),
            this.obj.children(".educationalShow").children(".educationalForm").show(),
            this.schoolNameVal = g,
            this.degreeVal = e,
            this.professionalNameVal = f,
            this.schoolYearStartVal = c,
            this.schoolYearEndVal = d,
            this.obj.children(".c_add").addClass("dn"),
            j(this.obj)
        },
        Del: function(a) {
            var b = a.parent("li").attr("data-id");
            $.ajax({
                url: ctx + "/educationExperience/delEdu.json",
                type: "POST",
                data: {
                    id: b
                }
            }).done(function(b) {
                b.success ? (a.parent("li").remove(), "" == b.content.educationExperiences || null == b.content.educationExperiences ? (f.obj.children(".educationalShow").addClass("dn"), f.obj.children(".educationalEdit").addClass("dn"), f.obj.children(".educationalAdd").removeClass("dn"), f.obj.children(".c_add").addClass("dn")) : f.obj.children(".educationalShow").children(".educationalForm").hide(), $("#lastChangedTime span").text(b.content.refreshTime), $("#resumeScore .which div").text(b.content.infoCompleteStatus.msg), $("#resumeScore .which span").attr("rel", b.content.infoCompleteStatus.nextStage), scoreChange(b.content.infoCompleteStatus.score), k(f.obj), b.content.isNew && changeAllIds(b.content.jsonIds)) : console.log(b.msg)
            })
        },
        AddCancel: function() {
            this.obj.find(".educationalAdd").removeClass("dn"),
            this.obj.find(".educationalShow").addClass("dn"),
            this.obj.find(".educationalEdit").addClass("dn"),
            k(this.obj)
        },
        AddMoreCancel: function() {
            this.obj.children(".educationalShow").children(".educationalForm").hide(),
            k(this.obj)
        }
    },
    f.obj.find(".educationalAdd").bind("click",
    function() {
        f.Add()
    }),
    f.obj.find(".c_add").bind("click",
    function() {
        f.AddMore(),
        $(this).addClass("dn")
    }),    
    $(".educationalForm").each(function() {
        $(this).validate({
            groups: {
                schoolYear: "schoolYearStart schoolYearEnd"
            },
            rules: {
                schoolName: {
                    required: !0,
                    checkNum: !0,
                    maxlenStr: 100
                },
                degree: {
                    required: !0
                },
                professionalName: {
                    required: !0,
                    checkNum: !0,
                    maxlenStr: 100
                },
                schoolYearStart: {
                    required: !0,
                    checkSchoolYear: !0
                },
                schoolYearEnd: {
                    required: !0,
                    checkSchoolYear: !0
                }
            },
            messages: {
                schoolName: {
                    required: "请输入学校名称",
                    checkNum: "请输入有效的学校名称",
                    maxlenStr: "请输入有效的学校名称"
                },
                degree: {
                    required: "请选择学历"
                },
                professionalName: {
                    required: "请输入专业名称，如：软件工程",
                    checkNum: "请输入有效的专业名称，如：软件工程",
                    maxlenStr: "请输入有效的专业名称，如：软件工程"
                },
                schoolYearStart: {
                    required: "请选择开始年份",
                    checkSchoolYear: "开始年份需小于结束年份"
                },
                schoolYearEnd: {
                    required: "请选择结束年份",
                    checkSchoolYear: "结束年份不能早于开始年份"
                }
            },
            errorPlacement: function(a, b) {
                "hidden" == b.attr("type") ? "schoolYearStart" == b.attr("name") || "schoolYearEnd" == b.attr("name") ? a.appendTo($(b).parent().parent()) : a.appendTo($(b).parent()) : a.insertAfter(b)
            },
            submitHandler: function(a) {
                var b = $('input[name="schoolName"]', a).val(),
                c = $('input[name="degree"]', a).val(),
                d = $('input[name="professionalName"]', a).val(),
                e = $('input[name="schoolYearStart"]', a).val(),
                g = $('input[name="schoolYearEnd"]', a).val(),
                h = $(".eduId", a).val(),
                i = $("#resumeId").val(),
                j = $("#resubmitToken").val();
                $(a).find(":submit").attr("disabled", !0),
                $.ajax({
                    url: ctx + "/educationExperience/save.json",
                    type: "POST",
                    data: {
                        schoolName: b,
                        education: c,
                        professional: d,
                        startYear: e,
                        endYear: g,
                        eduid: h,
                        id: i,
                        resubmitToken: j
                    }
                }).done(function(b) {
                    var c, d, e;
                    if ($("#resubmitToken").val(b.resubmitToken), b.success) {
                        for (c = b.content.educationExperiences, d = "", e = 0; e < c.length; e++) d += 0 == e % 2 ? '<li data-id="' + c[e].id + '" class="clear">': '<li data-id="' + c[e].id + '">',
                        d += '<i class="sm_del dn"></i><i class="sm_edit dn"></i><span class="c9" data-startY="' + c[e].startDate + '" data-endY="' + c[e].endDate + '">' + c[e].startDate + "-" + c[e].endDate + "</span>" + "<div>" + '<h3 data-schName="' + c[e].schoolName + '">' + c[e].schoolName + "</h3>" + '<h4 data-proName="' + c[e].professional + '" data-degree="' + c[e].education + '">' + c[e].education + "，" + c[e].professional + "</h4>" + "</div>" + "</li>";
                        f.obj.children(".c_add").removeClass("dn"),
                        f.obj.children(".educationalShow").children(".educationalForm").hide(),
                        f.obj.children(".educationalShow").children(".elist").html(d).parent().removeClass("dn"),
                        f.obj.children(".educationalEdit").addClass("dn"),
                        $("#lastChangedTime span").text(b.content.refreshTime),
                        $("#resumeScore .which div").text(b.content.infoCompleteStatus.msg),
                        $("#resumeScore .which span").attr("rel", b.content.infoCompleteStatus.nextStage),
                        scoreChange(b.content.infoCompleteStatus.score),
                        k(f.obj),
                        b.content.isNew && changeAllIds(b.content.jsonIds)
                    } else console.log(b.msg);
                    $(a).find(":submit").attr("disabled", !1)
                })
            }
        })
    }),
    g = {
        obj: $("#selfDescription"),
        text: $("#selfDescription .selfDescription").val(),
        Add: function() {
            this.obj.children(".descriptionEdit").find(".selfDescription").val(""),
            this.obj.children(".descriptionAdd").addClass("dn"),
            this.obj.children(".descriptionShow").addClass("dn"),
            this.obj.children(".descriptionEdit").removeClass("dn"),
            j(this.obj)
        },
        Edit: function() {
            var b = this.obj.children(".descriptionShow").html();
            b = $.trim(b.replace(/<br>/gi, "")),
            this.text = b,
            this.obj.children(".descriptionEdit").find(".selfDescription").val(b),
            this.obj.children(".descriptionEdit").find(".word_count").children("span").text(500 - b.length),
            this.obj.children(".descriptionShow").addClass("dn"),
            this.obj.children(".descriptionEdit").removeClass("dn"),
            this.obj.children(".c_edit").addClass("dn"),
            j(this.obj)
        },
        Cancel: function() {
            this.text ? (this.obj.children(".descriptionAdd").addClass("dn"), this.obj.children(".descriptionShow").removeClass("dn"), this.obj.children(".descriptionEdit").addClass("dn"), this.obj.children(".c_edit").removeClass("dn")) : (this.obj.children(".descriptionAdd").removeClass("dn"), this.obj.children(".descriptionShow").addClass("dn"), this.obj.children(".descriptionEdit").addClass("dn")),
            k(this.obj)
        }
    },
    g.obj.children(".descriptionAdd").bind("click",
    function() {
        g.Add()
    }),
    g.obj.children(".c_edit").bind("click",
    function() {
        g.Edit()
    }),
    g.obj.children(".descriptionEdit").find(".btn_profile_cancel").bind("click",
    function() {
        g.Cancel()
    }), 
    $(".descriptionForm").validate({
        rules: {
            selfDescription: {
                required: !1
            }
        },
        submitHandler: function(a) {
            var b = $('textarea[name="selfDescription"]', a).val(),
            c = $("#resumeId").val(),
            d = $("#resubmitToken").val();
            $(a).find(":submit").attr("disabled", !0),
            $.ajax({
                url: ctx + "/resume/intro.json",
                type: "POST",
                data: {
                    myRemark: b,
                    id: c,
                    resubmitToken: d
                }
            }).done(function(b) {
                var c, d;
                $("#resubmitToken").val(b.resubmitToken),
                b.success ? (c = b.content.resume, d = "", c.myRemark ? (d = c.myRemark, g.text = c.myRemark, g.obj.children(".c_edit").removeClass("dn"), g.obj.children(".descriptionShow").html(d).removeClass("dn"), g.obj.children(".descriptionEdit").addClass("dn"), $("#lastChangedTime span").text(b.content.refreshTime), $("#resumeScore .which div").text(b.content.infoCompleteStatus.msg), $("#resumeScore .which span").attr("rel", b.content.infoCompleteStatus.nextStage), scoreChange(b.content.infoCompleteStatus.score), k(g.obj)) : (g.text = "", g.obj.children(".c_edit").addClass("dn"), g.obj.children(".descriptionShow").addClass("dn"), g.obj.children(".descriptionEdit").addClass("dn"), g.obj.children(".descriptionAdd").removeClass("dn"), $("#lastChangedTime span").text(b.content.refreshTime), $("#resumeScore .which div").text(b.content.infoCompleteStatus.msg), $("#resumeScore .which span").attr("rel", b.content.infoCompleteStatus.nextStage), scoreChange(b.content.infoCompleteStatus.score), k(g.obj)), b.content.isNew && changeAllIds(b.content.jsonIds)) : console.log(b.msg),
                $(a).find(":submit").attr("disabled", !1)
            })
        }
    }),
    h = {
        obj: $("#worksShow"),
        resetForm: function() {
            this.obj.children(".workEdit").find(".workLink").val(""),
            this.obj.children(".workEdit").find(".workDescription").val(""),
            this.obj.children(".workEdit").find(".showId").val(""),
            this.obj.children(".workEdit").find(".word_count").children("span").text(100)
        },
        Add: function() {
            this.resetForm(),
            placeholderFn(),
            this.obj.children(".workAdd").addClass("dn"),
            this.obj.children(".workShow").addClass("dn"),
            this.obj.children(".workEdit").removeClass("dn"),
            j(this.obj)
        },
        AddMore: function() {
            this.resetForm(),
            placeholderFn(),
            this.obj.children(".workShow").prepend(this.obj.children(".workEdit").children("form").clone()),
            this.obj.children(".workShow").children("form").css("borderBottom", "1px solid #e5e5e5").show(),
            this.obj.children(".workEdit").addClass("dn"),
            i(),
            j(this.obj)
        },
        Edit: function(a) {
            var f, b = a.parents("li"),
            c = b.attr("data-id"),
            d = b.find("div.f16 a").text(),
            e = b.find("p").html();
            e && (e = $.trim(e.replace(/<br>/gi, ""))),
            this.resetForm(),
            f = this.obj.children(".workEdit").children("form").clone(),
            f.find(".workLink").val(d),
            f.find(".workDescription").val(e),
            f.find(".word_count").children("span").text(100 - f.find(".workDescription").val().length),
            f.find(".showId").val(c),
            a.parents("li").prepend(f),
            placeholderFn(),
            a.parents("li").children(".workList").addClass("dn"),
            i(),
            j(this.obj)
        },
        Del: function(a) {
            var b = a.parents("li").attr("data-id");
            $.ajax({
                url: ctx + "/workShow/delws.json",
                type: "POST",
                data: {
                    id: b
                }
            }).done(function(b) {
                b.success ? (a.parents("li").remove(), $("ul.slist li:last-child").addClass("noborder"), ("" == b.content.workShows || null == b.content.workShows) && (h.obj.children(".workShow").addClass("dn"), h.obj.children(".workEdit").addClass("dn"), h.obj.children(".workAdd").removeClass("dn"), h.obj.children(".c_add").addClass("dn")), $("#lastChangedTime span").text(b.content.refreshTime), $("#resumeScore .which div").text(b.content.infoCompleteStatus.msg), $("#resumeScore .which span").attr("rel", b.content.infoCompleteStatus.nextStage), scoreChange(b.content.infoCompleteStatus.score), k(h.obj), b.content.isNew && changeAllIds(b.content.jsonIds)) : console.log(b.msg)
            })
        },
        AddCancel: function() {
            this.obj.find(".workAdd").removeClass("dn"),
            this.obj.find(".workShow").addClass("dn"),
            this.obj.find(".workEdit").addClass("dn"),
            k(this.obj)
        },
        AddMoreCancel: function(a) {
            a.parents(".workForm").siblings(".workList").removeClass("dn"),
            a.parents(".workForm").remove(),
            k(this.obj)
        }
    },
    h.obj.find(".slist li:last-child").addClass("noborder"),
    h.obj.find(".workAdd").bind("click",
    function() {
        h.Add()
    }),
    h.obj.find(".c_add").bind("click",
    function() {
        h.AddMore(),
        $(this).addClass("dn")
    }),   
    i(),
    $("#resumeSet h2 span").bind("click",
    function() {
        a = !1;
        var b = $(this).parents("#resumeSet");
        $.ajax({
            url: ctx + "/mycenter/resume/getAllResumes.json",
            type: "GET"
        }).done(function(a) {
            a.success ? (a.content[0].isDefault && (b.find(".resume0").click(), b.children(".defaultResume").val(a.content[0].type)), a.content[1].isDefault && (b.find(".resume1").click(), b.children(".defaultResume").val(a.content[1].type), a.content[1].perfect || (b.find(".setTip").text("在线简历还未达可投递标准，请完善后选择").show(), b.find(".btn_profile_save").attr("disabled", "disabled"))), a.content[0].perfect || a.content[1].perfect || (b.find(".setTip").text("你还没有可投递的简历").show(), b.find(".btn_profile_save").attr("disabled", "disabled")), b.children(".noSet").hide(), b.children("#resumeSetForm").removeClass("dn"), b.children("#resumeSetForm").find('input[type="radio"]').bind("click",
            function() {
                1 != $(this).val() || a.content[1].perfect ? 0 != $(this).val() || a.content[0].perfect ? (b.find(".setTip").text("").hide(), b.find(".btn_profile_save").removeAttr("disabled")) : (b.find(".setTip").text("你还没有附件线简历，请上传后选择").show(), b.find(".btn_profile_save").attr("disabled", "disabled")) : (b.find(".setTip").text("在线简历还未达可投递标准，请完善后选择").show(), b.find(".btn_profile_save").attr("disabled", "disabled"))
            })) : console.log(a.msg)
        })
    }),
    $("#resumeSetForm .btn_profile_cancel").bind("click",
    function() {
        var b = $(this).parents("#resumeSet"),
        c = b.children(".defaultResume").val(); - 1 == c ? (b.children(".noSet").show(), b.children(".set0").hide(), b.children(".set1").hide(), b.children("#resumeSetForm").addClass("dn")) : (b.children(".noSet").hide(), b.children(".set" + c).show(), b.children("#resumeSetForm").addClass("dn")),
        a = !0
    }),
    $("#resumeSetForm").validate({
        rules: {
            resume: {
                required: !0
            }
        },
        messages: {
            resume: {
                required: "请选择默认投递的简历"
            }
        },
        errorPlacement: function(a, b) {
            a.insertBefore($(b).parents("#resumeSetForm").children(".resumeTip"))
        },
        submitHandler: function(b) {
            var c = $('input[name="resume"]:checked', b).val();
            $(b).find(":submit").attr("disabled", !0),
            $.ajax({
                url: ctx + "/mycenter/resume/setDefaultResume.json",
                type: "POST",
                data: {
                    type: c
                }
            }).done(function(d) {
                d.success ? (a = !0, $("#resumeSet .noSet").hide(), $("#resumeSet .set" + c).show(), $("#resumeSet .defaultResume").val(c), $("#resumeSetForm").addClass("dn")) : console.log(d.msg),
                $(b).find(":submit").attr("disabled", !1)
            })
        }
    }) 
}),
$(window).load(function() {
    scoreChange($("#resumeScore .scoreVal span").text())
});</script> 

<style type="text/css">
<!--
#resumeScore div.score{width:218px;height:154px;background: #fff7e9;margin-right: 2px;}
#resumeScore div.index_score{width:280px;height:154px;background: #fff7e9;margin-right: 2px; position:relative; }
#resumeScore div.score canvas{margin:16px 0 0 49px;}
#resumeScore div.index_score canvas{margin:16px 0 0 80px;}
#resumeScore div.scoreVal
{	
	width:120px;
	text-align:center;
	font-size:18px ;
	position:relative;
	left:52px;
	top:-78px;
	top:78px \9;
	}
#resumeScore div.index_score div.scoreVal{width:120px;text-align:center;font-size:18px; position:absolute;left:80px;top:64px;}
#resumeScore div.index_resume_img{width:280px;height:40px;text-align:center;padding-top:114px;background: #fff7e9 url('../images/index_resume.png') center 20px no-repeat;margin-right: 2px;}
#resumeScore div.which{width:540px;height:154px;background: #fff7e9;}
#resumeScore div.which div{margin: 30px 10px 20px 10px;text-align: center;}
#resumeScore div.which span{cursor:pointer;margin: 0 0 0 150px;text-align: center;background: #019875; color: #fff;float:left;-webkit-transition: .2s;-moz-transition: .2s;transition: .2s;}
#resumeScore div.which span:hover{background: #00694e; }
#resumeScore div.which a{color:#fff;display:block;padding: 8px 40px;}
.floatclass{float:left!important;}



#dj-content-wrap {
    background: url("http://9.f1.dajieimg.com/n/file/T1EiCTBKxv1RXrhCrK_c.jpg") no-repeat scroll center 20px / cover rgba(0, 0, 0, 0);
    padding-top: 60px;
    padding-bottom: 0;
}

.dj-main2 
{
    background: none repeat scroll 0 0 #FFFFFF;
    border: 1px solid #CCCCCC;
    box-shadow: 2px 2px 2px rgba(175, 175, 175, 0.35);
    padding: 35px 60px;
    width:760px;
    margin-left: 40px;
    margin-bottom: 20px;
}

.dj-main3 {
    background: none repeat scroll 0 0 #FFFFFF;
    border: 1px solid #CCCCCC;
    box-shadow: 2px 2px 2px rgba(175, 175, 175, 0.35);
    margin: 35px;
    padding-left: 62px;
    padding-right: 62px;
    padding-top: 60px;
    width: 760px;
}



.dj-nosubnav2 
{
    height: 5px;
    margin-top: 24px;
    width:760px;
    margin-left: 40px;
}

.invite-title2 
{
    background: none repeat scroll 0 0 #FFFFFF;
    border-bottom: 1px solid #CAD5DA;
    height: 55px;
    padding: 10px 0;
    position: relative;
}

#footer {
    background: none repeat scroll 0 0 #DCE9F1;
    margin-top: 0;
}
.dj-content-inner {
    background-position: center 0;
    background-repeat: no-repeat;
    min-height: 520px;
    padding-bottom: 57px;
}
--> 
</style>

<div id="content" class="clearfix">
<div id="inviter-corp-fragment">
    <div class="basic-banner clearfix">
        <span><img alt="${(job.corpName)!""}" src="http://${configs['domains.assets']}/images/club/logo-big.gif"></span>
        <h2 title="${(job.corpName)!""}"><@cutWords words =(job.corpName!"") length =22 suffix = ""/><#if id?? && id !=0> <em class="g9">|</em> <em class="txtColor">职位邀请函</em></#if></h2>
    </div>
</div>
 
    <div class="dj-main dj-nosubnav2">
        <div class="letter-main">
            <form name="div-form" id="div-form" >
                <input type="hidden" name="jid" value="${job.jid!""}" id="jid_1">
                <div class="main-head">
                    <div class="invite-title2" <#if !inviter??>style="padding-left:80px;"</#if>>
                        <#if inviter??>
                            <div id="invite-info" >
                                <div class="invite-con" style="backgroupd:none repeat scroll 0 0,width:800px">
                                    <div class="pic">
                                        <a target="_blank" href="${inviter.homepage()!"#"}"><img src="${inviter.getAvatarUrl("s")}" width="50"></a>
                                    </div>
                                    <div class="invite-people-info">
                                        <h3 class="yahei">${(inviter.name)!}</h3>
                                        <p><#if inviter.identity == 1>${inviter.position!}<#elseif inviter.identity == 0>${inviter.majorName!}</#if></p>
                                    </div>
                                </div>
                            </div>
                        </#if>

                        <div class="invite-tips">
                            <h4 class="bt yahei">
                                    	填写基本信息，让我们对你有个初步印象
                            </h4>
                        </div>
                        <span class="basic-icon"></span>
                    </div>
                </div>
            </form>
        </div>
    </div> 

<div class="dj-main2 dj-nosubnav">    
	<div id="resumeScore" style="height:160px">
		<div class="score" style="float:left;display:inline;">
			<canvas style="width: 120px; height: 120px;" id="doughnutChartCanvas" width="120" height="120"></canvas>
			<div class="scoreVal" style=""><span>${invitationApply.percent}</span>分</div>
		</div>	
		<#if invitationApply?? && invitationApply.percent < 40 >
		<div class="which" style="float:left;display:inline;">
			<div><font size="4"><b>你的简历信息过于简单，面试机会很小哦。</b></font></div>
			<div class="upload" style="text-align: left;margin-left: 120px;">
	            <input type="radio" name="resumeType" id="resumeType2" value="2" checked="checked"  class="resume_show"/><label class="radio"  style="margin-right:15px;"  for="resumeType2">在线完善简历</label>
           		<br/><br/>
           		<input type="radio" name="resumeType" id="resumeType1" value="1" class="resume_hide"/><label class="radio "  style="margin-right:15px;"  for="resumeType1">从本地上传已有简历</label>
	        </div>
		</div>
		<#elseif invitationApply?? && invitationApply.percent < 60 >
		<div class="which" style="float:left;display:inline;">
			<div style="margin: 65px 10px 20px;text-align: center;"><font size="4"><b>你的简历信息不够完善，再多写点吧。</b></font></div>
		</div>
		<#elseif invitationApply?? && invitationApply.percent < 80 >
		
		<div class="which" style="float:left;display:inline;">
			<div style="margin: 65px 10px 20px;text-align: center;"><font size="4"><b>还差一点，你的简历就能获得HR亲睐了。</b></font></div>
		</div>
		<#else>
		<div class="which" style="float:left;display:inline;">
			<div style="margin: 65px 10px 20px;text-align: center;"><font size="4"><b>你的简历相当不错哦，完善一下就提交吧。</b></font></div>
		</div>
		</#if>
	</div>
	
   	<br/>
	
	<form id="resumeInfo" action="/invitation/submitResume" method="post">
		<input type="hidden" id="redirectUrl" name="redirectUrl" value="${redirectUrl!""}"/>
		<input type="hidden" id="mobile" name="mobile" value="${invitationApply.mobile!""}" />
		<input type="hidden" name="itskillsDescForm" id="itskillsDescForm">
    	<input type="hidden" name="selfEvaluationForm" id="selfEvaluationForm">
    	<input type="hidden" name="corpName" id="corpName" value="${(job.corpName)!""}">
	</form>
	   	
  	<div id="upload" style="display: none;">
		<#include 'resume_upload.ftl'/>
  	</div>
  	<div id="resume" style="display: inline;">
		<#include 'resume_index.ftl'/>
  	</div>
	<br/>
</div>
<div style="text-align:center;position:fixed;bottom:0;background:#DCE9F1;width:960px;padding-bottom: 15px;padding-top: 15px;">
	<a href="javascript:void(0);" class="fresh formValidateSubmit margin" id="J_resumeInfo" 
		itemtype="resumeInfo" onclick="submitResume()"><span><font size=4><b>提交简历</b></font></span></a>
</div>
</br>
</br>
</div>
</@page>

<script type="text/javascript">
	$("#footer").remove();
	var submitResume = function()
	{
		if($("#resumeType1").attr("checked") )
		{
			
			if($("#inputResumeFile").val() == "")
			{
				alert("请上传简历附件！");
				return;
			}
			
			var itskillsDesc = $("#itskillsDesc").val();
			var selfEvaluation = $("#selfEvaluation").val();
			$("#itskillsDescForm").val(itskillsDesc);
			$("#selfEvaluationForm").val(selfEvaluation);
			$("#resumeInfo").submit();
		}
		
		
		if( !$("#resumeType1").attr("checked"))
		{
			//|| $("#J_intentionSubmit").attr("class") != "normal"
			//if($("#J_baseSubmit").attr("class") != "normal" )
			//{	
			//	alert("请完善您的基本信息!");
			//	return;
			//} 
			
			var isok = 1;
			if( !$("#gender_1").attr("checked") && !$("#gender_2").attr("checked"))
			{
				$("#error_gender").show();
				isok = 0;
			}
			
			if($("#profile-birthdate-input").val() == "")
			{
				$("#error_profile-birthdate-input").show();
				isok = 0;
			}
			
			if( isok == 0)	return ;
			
			var itskillsDesc = $("#itskillsDesc").val();
			var selfEvaluation = $("#selfEvaluation").val();
			$("#itskillsDescForm").val(itskillsDesc);
			$("#selfEvaluationForm").val(selfEvaluation);
			$("#resumeInfo").submit();
		}
		
		
	}

	$("#mobile").blur(function(){
		 //验证保存手机号码
            $.ajax({url: '/ajax/saveMobile',
                type: 'POST',
                data:{mobile: $("#mobile").val()  },
                dataType: 'text',
                timeout: 5000,
                error: function(){ 
                	//alert("error");
                },
                success: function(result){
                    //alert(result);
                }
            });
	});

	$("#basic-livecity-select").change(function(){
		//save livecity
		if($("#basic-livecity-select") != "")
		{
			$.ajax({
				url:'/ajax/savelivecity',
				type:'POST',
				data:{livecity:$("#basic-livecity-select").val(),mobile:'${invitationApply.mobile}'},
				dataType: 'text',
				timeout: 5000,
				error:function(){},
				success:function(){}
			});
		}
	});

	
	String.prototype.endWith=function(s)
	{
	  if(s==null||s==""||this.length==0||s.length>this.length)
	     return false;
	  if(this.substring(this.length-s.length)==s)
	     return true;
	  else
	     return false;
	  return true;
	 }
	
	 String.prototype.startWith=function(s)
	 {
	  if(s==null||s==""||this.length==0||s.length>this.length)
	   return false;
	  if(this.substr(0,s.length)==s)
	     return true;
	  else
	     return false;
	  return true;
	 }

	$(function()
	{  
   	 	$("#resume").show();  
	});

	$('.resume_hide').click(function(){
		$("#resume").hide();
		$("#upload").show();
	});
	
	$('.resume_show').click(function(){
		$("#resume").show();
		$("#upload").hide();
	});

    $('.J_perfectResume').click(function(){
        $.dialog('#perfect-dialog', {mask:true, mercy: false,defbtn:false, title:'完善简历提示', width:480,oncomplete:function(e){
            $.dialog('#upload-dialog', {mask:true, mercy: false,defbtn:false,customClass:'upload-dialog', title:'更新简历提示', width:480,oncomplete:function(){
                window.location.reload(true);
            }
            })
        }});
    });

    $('#J_formSubmit').click(function(){
        if($(this).hasClass('disable')){
            $('.letter-t').addClass('textarea-error');
        }else{
            var save = ($('#saveCheck').attr("checked") == true) ? 1 : 0 ;
            if($('#letterContent').val() == '点击这里填写求职信(3-300字)'){
                $('#letterContent').val('');
            }

            var letter = $('#letterContent').val();
            if($(this).hasClass('disable')){//字数不符合条件直接返回
                $('#letterContent').css('border-color','#f00');
                return;
            }

            //需要验证是否有敏感词
            $.ajax({url: '/jobapply/confirm',
                type: 'POST',
                data:{content: letter, save : save,jid:$('#jid_1').val(), id : $('#id').val(), applytype : $('#applytype').val(), jobtype : $('#jobtype').val()},
                dataType: 'text',
                timeout: 5000,
                error: function(){alert('发送简历失败,请刷新后重试');},
                success: function(result){
                    var code = result.substr(0, 1);
                    if(code == 0){//保存求职信成功
                        hrViewProfileAlertAndSubmit();
                    }else{//code ==1保存求职信失败
                        alert(result.substring(2));
                    }
                }
            });
        }
    });

    function hrViewProfileAlertAndSubmit(){
        $.ajax({url: '/jobapply/hrViewProfileAlert',
            type: 'GET',
            dataType: 'text',
            timeout: 3000,
            error: function(){nextLocation()},
            success: function(result){
                var code = result.substr(0, 1);
                if(code != 0){
                    $.dialog('#send-dialog', {mask:true, mercy: false, defbtn:false,customClass:'upload-dialog', title:'发送简历提示', width:480,oncomplete:function(){
                        nextLocation();
                    },onabort:function(){
                        nextLocation();
                    }});
                }else{
                    nextLocation();
                }

            }
        });
    }

    function nextLocation(){
        document.location.href = "/invitation/success?mobile=${invitationApply.mobile!""}&jid=${job.jid!""}";
    }
    
    
     
    
</script>